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

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

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

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

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

知识是多层次的

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

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

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

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

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

数学知识例子:负数

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

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

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

计算机的例子:云计算

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

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

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

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

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

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

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

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

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

  1. 数美科技CTO梁堃:怎么样构建全栈式智能风控体系,在线业务安全的挑战与实践

    日前,由雷锋网鲸犀频道与腾讯"千帆计划"共同举办的"CCF-GAIR全球人工智能与机器人峰会"在深圳盛大召开.在"如何利用SaaS赋能企业转型升级&q ...

  2. 大数据全栈式开发语言 – Python

    前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做"Fullstack JavaScript",是关于用JavaScript进行前端.服务器端,甚至数据 ...

  3. python全栈和java全栈_Python是全栈式开发语言吗?原因竟是这样!

    Python 的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.但排在前四名的语言 Python.C.Java 和 C++都拥有广大的用户群体,并且他们的用户总量也十分相近.实际上,Di ...

  4. 利用大数据风控教你全栈式实时反欺诈

    "很久没有碰到这么大的漏洞了,你们继续,我睡了." 2019年1月20日凌晨1点半,在某"羊毛党"聚集的电报(Telegram,一款社交APP)群里,一位圈内& ...

  5. 一个全栈式的应用集成平台,打破“信息孤岛”

    源宝导读:随着企业数字化进程的逐渐深入,企业存在大量的异构系统,各个系统之间信息传输.资源利用困难.本文将介绍明源云ERP为了打破这种"信息孤岛",而进行的思考与实践. 一.前言 ...

  6. 小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)

    之前学习微信小程序开发,主要是基于JS.WXML.WXSS的前端开发,对于后端技术不精的我也是使用了微信开发者工具中的云开发功能,但是今天突发奇想,特别想体验一下全栈式开发微信小程序,学习了一下基于W ...

  7. web全栈架构师所需技术栈_统一架构–一种构建全栈应用程序的简单方法

    web全栈架构师所需技术栈 Modern full-stack apps – like single-page apps or mobile apps – usually have six layer ...

  8. python底层是用什么语言实现的_我为何说Python是全栈式开发语言?

    Python 的排名从去年开始就借助人工智能持续上升,如今它已经成为了第一名.但排在前四名的语言 Python.C.Java 和 C++都拥有广大的用户群体,而且他们的用户总量也十分相近.实际上,Di ...

  9. 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)【转】

    随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求 ...

最新文章

  1. Jar/War/Ear等包的作用与区别详解
  2. 为什么 Kafka 速度那么快?
  3. miniuidatagrid只允许修改某一列_State Processor API:如何读取,写入和修改 Flink 应用程序的状态...
  4. 2017.9.9 股票交易 思考记录
  5. ES6-18:class类及其继承
  6. android 桌面小插件下载地址,桌面小组件app下载
  7. 30个 CSS 样式常用的静态形状
  8. java 以10为底的对数_获取Java中值的以10为底的对数
  9. 办公计算机班半学期总结,计算机班的班主任工作总结.docx
  10. 计算机显示器闪烁,电脑显示器闪屏怎么办 显示器闪屏原因【解决方法】
  11. C#山寨版本【天翼拨号客户端】---内含详细抓包,模拟数据---万事俱备,只欠东风。
  12. Linux内存管理 - slab分配器和kmalloc
  13. html5 输入用户名和密码登陆网址,360路由器登录网址用户名和密码指南
  14. android融云消息免打扰
  15. MFC基本图形的绘制(一)设备环境类CDC、画笔和画刷
  16. 为何要配置环境变量?
  17. php 获取agent,PHP解析HTTP_USER_AGENT 获取客户端浏览器以及版本号 | 八戒哥技术博客...
  18. java比较器原理理解
  19. OmniGraffle 7 Mac 注册码 账号:Appked 密码:MFWG-GHEB-HYTW-CGHT-CSXU-QCNC-SXU
  20. 程序员这样学英语,少走很多弯路

热门文章

  1. J9数字科普:Web3.0世界中的J9NFT:仍在发展但未来可期
  2. TypeError: _typeof4 is not a function,解决微信小程序报错
  3. 各位大神,有没有类似于百度云软件开始时的设置向导的例子呀
  4. Python学习记录——십 列表
  5. python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...
  6. 信息安全之加密域可逆信息隐藏
  7. 【docker】docker重新加载nginx配置
  8. 【转载】目前市场上主流的BI产品主要有哪些?
  9. CDP科普:客户数据中台(CDP)是什么?
  10. 中文字体压缩器并且转换(推荐阅读)