如何学习(1):构建全栈式知识结构

来源:互联网 发布:知乎 高品位礼品 编辑:程序博客网 时间:2024/06/06 15:42

有次下班到家楼下等电梯,碰巧一位妈妈抱到两岁的小女孩在看旁边的宣传画。这时电梯还没到,这位妈妈就指着海报上的字读给小女孩,“这是太阳,那是月亮”……,想借这个机会教小孩认字。

这是中国式的、传统的教学方法,其实我对这种死记硬背的方法不怀好意,于是在电梯上开起了小差,为什么这种方法效果不好,不招受教者的讨好呢。

如果我是教自己的小女儿认字,我会怎么教呢?

“牛牛,你看,上面画的是太阳。你知道吗?太阳公公每天很早就起床了,大地才开始暖起来,小朋友们才可以出来玩耍。到了晚上,太阳公公要休息了,大家小朋友就回家吃晚饭,然后开始睡觉拉。太阳公公天天跟我们在一起哟,下面这两字就是太阳拉,以后见到太阳两字可以跟小朋友们讲太阳公公的故事”

注:我家女儿小名牛牛,她外婆起的。

知识是多层次的

从事IT的同行应该听说过”全栈工程师“这个名称,通常软件根据功能分成多层,每层称为栈,而全栈工程师是指那些通晓各层软件栈的、经验非常丰富的软件工程师(他们通常是架构师)。

延伸到学习本身,它的对象(某个知识,某个理论,某个公式,某项技术)是多层次,而不单单是对象本身。

我这里将知识多层次这个事情描述为 全栈式的知识结构。每个知识都应最少包括以下3个方面:
该知识的历史,它的出现是为了解决什么问题的?
该知识本身是怎么样的,它的定义,它的原理
如何应用该知识

在我们的教育当中,常常只有第二点的教育,缺少了历史和应用两处。容易造成学生根本无法理解这些纷繁复杂的理论或技术,学习缺少趣味性,成负担。

下面讲述数和计算机领域例子,体会一下全栈式的知识结构。

数学知识例子:负数

为什么需要负数:古代商人需要进行记帐,买入是为进货,卖出是为出货,使用数数无法很好进行表达;为了解决这个问题,聪明的商人使用了特殊标记,进货标示为:进 + 数量, 出货标示为:出 + 数量。但是仍然还没有解决计算问题,进和出两者无法直接进行计算。最后聪明的数学家们,将生活中遇到各种支出行为加以抽象和提炼,形成了负数。并根据生活原形,定义符合生活直觉的各种运算(加减乘除)

什么是负数:负数表示正数意义相反的量。如+5表示进货5公斤大米,那么-5表示出货5公斤大米。

如何应用: 日常记帐,收入记为正数,各项支出记为负数,月底结算时将这些数加起来:结果为正数表示月度盈余,负数表示月度负债。负数可以广泛应用于温度、楼层、海拔、水位、盈利、增产/减产、支出/收入、得分/扣分等等的这些方面中。

计算机的例子:云计算

为什么需要云计算:传统的服务运行在固定的一组服务器上,他们形成集群。如果上线用户少,服务器资源利用不充分,造成资源浪费;如果高峰时段,上线用户多,形成峰值,服务器资源会出现不够。运计算就是专门来解决资源可伸缩问题。将服务运行在多个VM上面,如果用户少,只需要运行少量VM即可,用户高峰时段,动态运行多个VM提供服务。另一方面,它改变商用模式,大公司可以提供公有云服务(比如亚马逊),让其它小公司购买VM运行它的业务。

什么是云计算技术:云计算技术可以简单理解成虚拟化技术,每台物理机上运行多个虚拟机,虚拟机之间动态调度,内存动态管理。还有配套的存储虚拟化,以及网络虚拟化,才以支撑整个云计算虚拟化。在Linux操作系统上,它利用X86 CPU上的root模式和非root模式分别运行Host OS和Guest OS(虚拟机),主流虚拟化技术有KVM和Xen两种。

云计算应用:云计算的应用很广泛,有提供云虚拟机,云储存(网盘)等。同时改变了传统服务器的商业模式。

抛弃枯燥学习方法,构建全栈式的知识结构

对于学习者,每遇到新技术,新理论,新知识,多想想它产生的背景,它是解决什么问题,它的发展历史是怎样的,这些东西会使用谜上它。一旦学习构建全栈式的知识结构,你会发现别有洞开,甚至脑洞大开。

对于教育者,抛弃那些传统的教学方法吧,多讲一些背景和发展历史,以及这门知识的应用,而不是硬生生地跳出来。

开始构建你的全栈之旅吧……

更实时查看文章,请关注我的公众号 ”程序员思维“

这里写图片描述

2 1
原创粉丝点击