快速学习一门技术的逻辑

在学习一门技术时,如果我们按以下逻辑去学习——找一份学习资料,比如书,通读全书后才将所学的知识应用于实践,通常我们的学习效率是低下的。但是,如果我们边学边用,学习效率却会提高不少,而且学习的趣味性也会增强。在《软技能,代码之外的生存指南》(很好的一本书,虽然全书未涉及代码,但对人的工作和生活都有一定启发)一书中,作者的“十步学习法”体现的逻辑对人们的学习确实有帮助,现将“十步学习法”的内容介绍如下:

一:“前期调研”阶段
1.了解全局,从宏观出发
这一步是为了弄清楚自己到底要学什么,非常重要的一步,但不要在这一步上花费太多时间,短短几个小时足以。对一项技术,我们可以在互联网上通过百科介绍和相关博客从以下几个方面去了解:
(1)一项技术的背景;
(2)它为何出现;
(3)能够解决什么问题;
(4)有什么同类技术;
(5)没有该技术之前我们如何工作;等。

2.确定范围
对于一项技术,我们想在短时间内全面深入地掌握是比较困难的一件事,比如我们想全面深入地掌握Java,我们就不可能仅仅掌握它的语法特性和函数库,然后写写业务表单和增删改查就可以了。Java的虚拟机、性能、并发编程、Jit技术、垃圾收集、集群、分布式、异常、日志服务,还有大量的Java平台开源项目,都需要深入了解。除此之外,一些数据结构和算法也是程序员们应该掌握的内容,比如栈、队列、链表,二叉树、红黑树、B树,散列表,排序算法、查找算法,最小路径,最小生成数等等…这么看来,怎么也要几年的时间才能深入地掌握。但是这个时代是一个快速学习的时代,新技术层出不穷,在我们需要掌握的技术中,不是所有的技术我们都有足够的时间去学习。但是如果我们能够确定一项技术中对我们真正有用的20%的内容,我们就能够用这项技术去做80%的工作。不过要确定这20%的内容需要做一些前期准备工作,而且并不是那么容易。为了实现这一步,我们需要将庞大的主题分解为小而聚焦的主题,比如说我们学习Linux,我们可以从“了解如何设置和安装Ubuntu Linux,以及如何使用它的基本特性”这一角度来学习Linux。

3.定义目标
定义目标之后,我们可以更轻松地使用倒推的方式,明确实现目标所需的步骤。好的目标应该是具体的、无二义性的。我们可以举个例子感受一下:
我可以用我的数码相机拍出好照片——不好的目标;
我可以使用我的数码相机里的所有功能—,能够清晰地描述这些功能是什么,并且知道何时何地使用各功能——好的目标。

4.寻找资源
在这一步中,我们想找到尽可能多的与自己所选主题相关的资源,因为我们不想因为单一来源的信息产生偏见。此时我们无需考虑这些资源的质量,稍后再对这些资源过滤,去伪存真。
信息来源:
(1)图书
(2)博客
(3)在线视频
(4)专家,或者对你所想要学习的内容已经熟知的人
(5)源代码
(6)示例项目
(7)在线文档

5.创建学习计划
打造自己的学习计划,一个好方法就是看别人是如何教你感兴趣的主题的。但这并不意味着只要复制一本书的目录就可以称其为自己的学习计划了。我们可以通过通览自己收集到的全部资源,对自己需要哪些内容以及如何组合这些内容有更清晰的认识。

6.筛选资源
现在,我们知道自己要学什么以及以什么顺序学,那么是时候 决定要使用哪些资源来完成自己的学习任务了。在这一步中,把我们在第四步中搜集的全部资源浏览一遍,找出哪些内容能够覆盖我们的学习计划。我们还应当看看评论,试着找出品质最高的资源。比如在购书时,浏览亚马逊上的评论,找出最物超所值的一两本书。一旦我们完成了这一步,我们就可以进入到学习阶段中来。

二:学习阶段
7.开始学习,浅尝辄止
以玩游戏为例,我们不需要浏览说明书上的全部内容,只需要知道基本操作,能正确玩游戏就可以了;
以学单片机为例,我们开始学习单片机应以“点亮第一个LED灯”来开启我们的单片机学习之旅,而不是一开始就花大量的时间在底层结构 的学习上;
再以学习编程语言为例,我们以输出“Hello World!”来开始学习编程语言。
要开始学习一门技术需要一定的基础知识,但不必学习所有的基础知识才开始学习。而且学习是一个循序渐进的过程,应该由浅入深地学习。

8.动手操作,边玩边学,实践出真知
比如我们正在学习一门新的技术或者新的编程语言,我们可以先创建一个小的项目来检测这一步的学习效果,把哪些暂时还没有问题的答案记录下来,以问题来驱动学习,随着学习的深入,之前解决不了的问题现在或许能够解决,我们可以把每一个解决的问题记录下来。

9.学以致用
当我们还是孩子的时候,我们就处于主要由好奇心驱动的快速学习期。但是随着我们长大,大部分好奇心也随之消失。这一步就是让我们找回好奇心驱动的学习。在第8步中,我们通过动手操作找到了一些尚未解决的问题,现在是时候来回答这些问题了。在这一步中,我们要利用先前收集到的所有资料,进行深入学习。不要害怕回头再去操作,付出更多,因为这会让你找到问题的答案,而且学到新东西。不过我们没有必要把所有搜集到的资料全部仔细看一遍,只需要阅读或观看与当前所学相关的部分。不要忘记在第3步中定义的目标,试着把自己正在学习的内容与最终目标关联在一起。我们掌握的每个模块,都应该以某种方式推动我们向目标前进。

10.教是最好的学
将我们所学的东西通过博客等方式总结出来并分享给他人是很重要的,这一步对保持信息以及深入理解知识而不仅仅知识流于表面至关重要。
教授知识的途径:
(1)撰写博客文章
(2)创建视频教程(如YouTube)
(3)发表演讲
(4)与朋友或爱人进行对话探讨
(5)在在线论坛上回答问题

另外提一点:推迟学习
现在新技术层出不穷,我们没有那么多时间去深入学习每一门。对于大多数技术,我们只需要搞懂概念部分,从宏观上了解一下,决定我们要不要深入地去学习它。有了这些了解,就能轻松地与别人聊天了,也可以为以后技术选型做一些储备。当面对真正的需求时,或者你有足够的时间做技术储备时,才去进入实践部分。

你可能感兴趣的:(思维篇)