本文是《软技能:代码之外的生存指南(第2版)》中第28章到第30章内容的学习笔记。主要介绍了作者在快速学习新技术、新编程语言、新框架和其他能力时采用的学习方法。
十步学习法的基本思想:
- 对自己要学的内容有个基本的了解(了解自己不知道什么就够了)
- 利用这些信息勾勒出学习的范围,要学哪些内容,学成之后会获得什么。
- 创建学习计划,筛选学习材料
- 利用 学习-实践-掌握-教授(Learning, Doing, Learning and Teaching, LDLT)的过程,不断加深理解,达成学习目标
第1步到第6步:这些步骤只做一次
1. 了解全局
- 了解要学习的主题的全局,有哪些主要的子课题。
- 寻找“未知之未知”,有哪些内容是自己从未接触过的(不知道自己不知道)。
- 举例: 读一本书前,先阅读介绍性章节,粗略浏览一下目录。
2. 确定范围
- 明确自己的学习范围
- 不要试图一次性掌握太大的主题,把关注点落脚到更小更可控的范围中。
- 根据时间因素决定学习的范围,时间越短,范围就应该更加专注且聚焦。
- 举例(普通主题 vs 范围明确的主题):
- 学习摄影 vs 掌握针对人像拍摄的数码摄影知识
- 学习c# vs 学习c#语言的基础知识,掌握如何创建一个简单的控制台程序
3. 定义目标
- 全力以赴之前,明确 “成功” 的定义
- 形成一份简明清晰的陈述,勾勒出学习后的成功图景。
- SMART目标:Specific Measurable Attainable Relevant Time-Bound
- 举例:
- 不好的成功标准:
- 可以用相机拍出好照片
- 学会关于Go语言的基础知识
- 好的成功标准:
- 可以使用我的数码相机里的所有功能,能够清晰的描述这些功能是什么,并且知道何时何地使用各功能。
- 可以利用Go语言搭建一个小的应用程序。
- 不好的成功标准:
4. 寻找资源
- 尽可能多地,从多种渠道搜集学习资源,
- 这一步不做任何过滤或筛选,尽可能多的获取不同类型的资源。
- 信息来源举例:
- 图书
- 博客文章
- 视频
- 专家
- 博客
- 源代码
- 示例项目
- 在线文档
5. 创建学习计划
- 确定学习路径,把学习内容分解成不同的模块,并确定学习这些模块的顺序
- 制订学习计划时,可以参考相关图书的目录 / 教学视频的大纲
6. 筛选资源
- 找出哪些内容能够覆盖学习计划
- 去伪存真,筛选出高价值的资源
第7步到第10步:循环往复直到达成目标
7. 开始学习,浅尝辄止(准备阶段)
- 准备阶段何时结束?
- 准备得太少,知之甚少时盲目开始实践
- 准备得太多,行动太晚
- 掌握平衡
- 准备阶段要学多少内容?
- 不必消化计划中列出的所有学习资源
- 掌握足够让自己在下一步能够动手操作的最小量知识(尽早开始实践)
8. 动手操作,边玩边学
- 在实践中探索知识,发现问题
- 记录在实践过程中遇到的问题
9. 全面掌握,学以致用
- 深入学习收集到的资料,为上一步中遇到的问题寻求答案,具体途径不限于阅读文字、观看视频或者是与他人交流。
- 学习的方式不局限于阅读,也可以回头再去操作、实验、观察。
- 没有必要把收集到的所有资料去全部仔细看一遍。
- 主要目标是解决在动手操作中发现的问题。
10. 乐为人师,融会贯通
- 费曼学习法
- 把知识教给别人,是确定你确实掌握了某些知识的唯一办法。
- 将自己所学介绍给他人,也是查缺补漏的一个好办法。
- 在这个过程中,我们需要
- 深度剖析并理解自己所学的知识,将其内化到自己的思想
- 要用他人能理解的方式精心组织这些信息。
- 这一步的重点在于:
- 要花时间将自己所学到的东西从大脑中提取出来,以别人能够理解的方式组织起来
- 这个过程中可能会发现有很多自以为已经明白的知识,其实并没有摸透。
- 实现方式:
- 写博客
- 制作视频
- 与爱人、朋友探讨,将自己所学解释给他。
- 在在线论坛上回答问题
- 发表演讲
思考
- 这些步骤本身并不重要,重要的是学习过程背后的理念。
- 聚焦学习范围,关注重点内容
- 提前明确学习目标,结合实践过程进行学习。
- 通过“自我探索”与“主动教学”的方式把知识刻印进大脑。
- 最终,我们要能够开发出一套适合自己的自学体系,一套能够自己能够坚持下去,持续不断地加以运用的方法体系。