程序员必备软技能-十步学习法

92 阅读7分钟

引入十步学习法

很多人也包括我自己在拿到一本书的时候老老实实从封面读到封底,一字不差的仔细阅读,殊不知这种方式是特别低效的读书方式,这里引入十步学习法的一个重要概念:

学到的但是不用的知识是最容易遗忘的!!!

下面有幅图片介绍了不同学习方式对知识掌握和吸收的差别:

image.png (备注:图片来自于网络) 从图中可以看出参与式学习的效果最好,所谓参与式我们可以看到里面有很多学习主动的行为,展示、演示、讨论、教授等这里一定是学习者的思考是基础然后在思考的基础之上才能有可能完成上述的外在表现。 学习需要拆开来看待: 学:头脑中懂得 习:头脑和身体需要练习

十步学习法

下面介绍下十步学习法,基于上一段的内容,学到但不用的知识最容易遗忘、参与式的学习方式效率最高我们再来看看十步学习法是如何设计把上面两个重要的概念沉淀到具体的步骤中,大家可以不过多关注每一步背后的意义和作用,前期可以按照固定的套路去练习,这也是呼应了我们前面提到的学习-学、习。 先来一个流程图:

image.png 以上十步可以分为两个阶段:

第一阶段:1-6步是学习的前期准备阶段,学习前的调研及目标的指定

第二阶段:7-10步是学习的过程部分,学习-练习-学习-教授(Learning-Doing-Learning-Teaching) 至于每一步的含义和具体操作我们下面展开细说:

每个步骤的细节

1、了解全局

有一个流行的认知说法是

  • 不知道自己不知道什么 --啥也不懂
  • 知道自己不知道什么 -- 了解一点,很多都不知道
  • 知道自己知道什么 -- 学会了一点,知道自己知道点啥了
  • 不知道自己知道什么 -- 学的越多越发现知道的不多,所以最终是自己不会,不知道的太多了

了解全局是从第一阶段到第二阶段的过程,以学习一个编程语言为例:了解全局的步骤你需要回答的问题有:

1、计算机的编程语言可以做什么?

2、有哪些编程语言?之间有什么不同?

可以从网上搜索资料或者找人了解。

这个阶段我们会对希望学习的东西有个大概的了解但很多细节还是不清楚,这时候懵懵懂懂的进入了"知道自己不知道什么".

了解全局的意义:下面以一张图为例给大家说明了解全局的意义和作用!!!

image.png

什么是基线(baseline)和渐进式(progressive)下图给出答案

image.png

如果学习是按照基线式的方式来学习,在没有了解全局的时候就开始精细的学,可能会坚持不下去,半途而废!!!

如果是按照渐进式方式学习,有一个全局视角从模糊到慢慢清晰这种感受更好!!!

2、确定范围

聚焦

在了解全局后我们就要聚焦,也就是确定范围,缩小范围。因为任何知识都浩如烟海,我们无法穷尽所有知识并全部掌握,所以我们要聚焦到某一个点上。

还是以学习一个编程语言为例,了解全局后我们可能知道这个语言涉及到

1、图形界面相关的

2、文件操作相关的

3、网络通信相关的

确定范围这一步我们就要在短时间内聚焦到某一个点上!!!,缩小范围聚焦重点突破!!!

下面以一个灌篮高手的例子来形容学习知识就像打架,三井寿带着兄弟围殴宫城良田时,宫城良田如何把三井寿的门牙打掉了,就是他只打三井寿,就是聚焦的策略;否则他可能一点便宜也占不到。

我们学习知识也要某段时间要聚焦到一个主题上否则无线发散会被知识揍的毫无还手之力。

3、制定目标

确定范围之后,要紧跟着确定的范围制定一个目标,还是以学习编程为例,上面我们对应的三个范围,那我们就可以针对的指定三个目标,比如:

1、自己写一个图形界面

2、自己用程序操作文件

3、自己用程序实现PC间的通信

4、寻找资源

学习任何一个知识点的时候都不要只看一本书,可以同时看不同书的相同知识点的章节,很多时候对于同一个知识点人们会从各种角度描述它,我们也可以从不同角度来看待这个知识点;

这样做有一个好处就是,我们从A角度看该知识点的时候有疑问,但很可能我们从B角度看该知识点的时候会消除这个疑问。

信息来源:

图书

博客

视频、公开课

这方面的专家

源码

示例项目

官方文档和手册

5、创建学习计划

基于第二步确定范围的结果,我们拿到的知识点依然可能还会细分出A\B\C\D\E\F等更细小的知识点,这时候我们要区分出基础和进阶,先把基础知识搞定,然后再进入进阶阶段;如何区分哪个是基础哪个是进阶?比如图书中的目录,前面的是基础后面的一般是进阶内容;

6、筛选资源

基于第四部搜集到的资源,我们要进行相应的筛选,比如图书的评价,去掉重复度较高的,看看评分和自己的喜欢的风格

7、开始学习、浅尝辄止

前面学习准备工作差不多了,接下来就是我们的学习过程;

Learning→Doing→Learning→and Teaching

这一步的目的是为了下一步动手操作;

这里有个原则就是为了下一步动手操作,所需要的最小量启动知识,学的太多和太少都影响效率!!!

8、动手操作,边做边学

这一步就是开始动手练习,比如是代码,则就拿示例代码自己试运行或者是简单修改示例代码,

如果是英语单词,这一步就需要开始造句,想象什么场景可以用到该单词,

这一步是想象不同的例子来增强自己的记忆。

这里有个例子是章亦春手抄代码。

9、全面掌握,学以致用

我们可能在上一步的时候遇到问题,这时候我们需要返回到资料里面取寻找答案,或者我们再看之前的内容,也会有不同的体会。

10、乐为人师,融会贯通

分享知识的途径

写博客文章

录制视频

演讲

线上或者线下与他人讨论

感悟

最后跟大家说下,我也是刚开始接触这个方法,可能上面有很多是自己的初步认识难免有错误之处欢迎大家指正。谢谢!!! 我的初步想法是我后面再遇到任何新的知识点或者问题我都套用这个十步学习法去规范化或者是流程化自己思维、思考过程,这样来加快自己掌握十步学习法。大家共勉!!!