标题
Learning How to Learn
IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发现自己学习的东西很少了,倒不是没有时间去学习, 而是学习的效率太低了。久而久之,就演变成『一年的工作经验,重复用十年』。
当然,有些人会说自己经常加班,没有时间学习,这只是表象,时间挤挤总是有的。 你想想你为了上王者,浪费了多少时间?为了刷今日头条,又消磨了多少光阴?
另外,很多人推崇碎片化学习,但是有一些东西碎片化学习效率是很低的,比如数学。
这篇文章是我学习完 coursera 上面的 《Learning How to Learn》 MOOC 加上我自己多年来的学习经验积累整理而来。
注: 文中可能有一些内容思考没有很深入,另外一些观点可能还需要更多的时间去检验,读者请自行甄别。
1. 一些学习的坏习惯
1.1. 被动反复阅读
通常编程新手在学习一个新东西的时候,喜欢买一本权威指南之类的书(大神或者同事推荐),比如「C++ Primer」和「Javascript 权威指南」。 而这样一本书,一般页数在 700-1400 页左右,要完整读完,在不求甚解的基础之上大概要花费好几个月甚至大半年时间。 别说是新手,就算是一个 C++ 编程老手去读「Javascript 权威指南」这样的书也不可能在只阅读一遍之后就能理解。 这时,很多人会选择重复多次阅读。有人会从头开始重复阅读,也有人只挑不理解的章节来阅读。 我以前上大学那会儿就是这么干的,读了好多 C++ 的书籍,其实自己编写的 C++ 代码并不多,也没有做过大型的 C++ 项目。 看了好多书,其实都是一知半解,效率很低。工作以后,这种学习方式更加不可取,因为你没有那么多时间这么干。
1.2. 喜欢在书上划重点
很多人偏好纸质书,因为在看书的时候手感不错,另外,还可以在书上把喜欢的句子和重点的段落用彩色笔标注出来。 这样做除了给自己造成一种假象「书上的重点我都标出来了,所以我都掌握了」之外,其实并无多大益处。 我现在喜欢在电脑上面看 PDF,可以边看边写代码。
读书的时候,还有一个误区,就是大脑被动地跟着作者的思路在走,如果是一本经典的书,你会每每被作者的真知灼见所震惊, 一种「于我心有戚戚焉」的感觉由然而生。如果作者的书写枯燥乏味,估计看几页你就丢到一边去了。在看书的时候,头脑中要 有自我意识,要感觉自己在跟作者对话,对于作者的观点不能一味全盘吸收,可以看一会儿,停下来,问几个为什么。
另外,我并不是说划重点是不好的,只是划重点的效率没有想像中的高。划重点有点像收集资料和网页链接,在你收集了一大堆PDF和视频教程之后, 你会得到一种满足,但是这并不代表你真正学到了东西,这个是要非常警惕的。
1.3. 看书中代码示例认为自己就理解了,从不动手编程
这是新手学编程的大忌,不去动手写,不去跟编译器和开发环境做斗争,你永远不知道软件开发过程中的操蛋事情。
1.4. 拖延
这个问题最大,也是影响 N 多人不去学习的理由。解决的办法只有一个,马上去做!一旦你开始去做了,你的大脑就不会排斥了。 你的计划再完美,你选的书籍再经典,你挑的视频水平再高,如果你不马上去看,去学,去动手实践,那永远也只是停留在空想的阶段。 成功学习的典范就是成功战胜拖延症的典范。
1.5. 学习任何东西,只停留在编写「Hello World」的水平
这个是什么意思呢?不是说你真的只会写「Hello World」,而是说要跳出自己的舒适区,去尝试一些自己不了解的领域,去做一些超过自己能力范围的事情 。
1.6. 喜欢加 QQ 群和微信群,美其名曰「技术交流」
这是国内技术圈的一大通病,可能刚开始会聊点技术,但是时间一长就水了。好好的技术群一秒钟就可能变成水群。 而且经常还有老司机冒然发车,此时马上有人冒出一句「留图不留种,菊花万人捅」。
我强烈建议大家不要过渡依赖Q群和微信群来学习技术或者解决问题,技术论坛,Stackoverflow 和 Github issue 是你更好的去处。
1.7. 天天熬夜打王者和 LOL,睡眠严重不足
实践证明,睡眠不足,啥事也干不成,只想睡觉。有人会说我晚上不到那个点睡不着,我这里有一招。 拿着一本 Kindle,挑一本英文书,躺在床上看,半小时保管睡着。虽然说看书的效果不一定佳,但是催眠也是极好的。
1.8. 工作中遇到模糊的问题不搞清楚,停留在面向 Google 编程
遇到问题,不假思索「百度」和「Google」,虽然现在 80% 的问题都可以找到解决方案,但是这样做对于自己并无多大益处。 找到解决方案之后,还要花几分钟时间探寻问题根源。可以查找背景资料,以便自己下次遇到同类型的问题时可以举一反三。
1.9. 看几分钟书,敲几行代码就开始刷知乎和朋友圈
做事情不专注,注意力不能集中,这也是学习的大忌。可以利用番茄工作法,给自己一段时间专注于某件事情,这样可以极大地提高自己的工作效率。
1.10. 从不看书,所有问题的解决方案都从论坛,Q 群和 Google 中来
认为看书效率太低,而且收益也不高,看书需要大量的时间,而且看完感觉也没太大的用,不如直接 Google 和 Q 群来得容易。 如果你真的这样想过,我只想说「小伙子,你思想很危险!」
2. 一些学习的好习惯
2.1. 与其反复阅读,不如经常回顾
与其一遍又一遍地阅读重复的书籍,编写同样的「Hello World」,不如有意识地总结回顾看过的书,学过的知识。 只需要每晚趟在床上的时候,回想一下今天都学到了什么?今天自己有进步一点点吗?
2.2. 多做练习,多写代码,从错误中学习
看技术书籍要多写书中的代码,在初学阶段哪怕对着书本敲也没有什么问题。认真完成书中留的习题,在自己没有尽最大努力的情况下面不要去看答案。 不要怕犯错,每一次犯错都是自己进步的机会。不断地测试自己是最好的学习方法,不管是「刻意练习」还是「10000小时定律」,都要求我们通过不断地实践来巩固我们的所学,从而让自己成为大师。
2.3. 多总结问题的解决方案,多写可复用的代码,拒绝复制粘贴
每天把工作中遇到问题的解决方案总结一下,想想为什么要这么做,是什么导致了这个 BUG,导致 BUG 的根本原因是什么。 是自己的逻辑混乱,粗心大意,还是程序框架太复杂?做需求的时候,要尽量避免复制粘贴,不要让代码里面有重复代码。 Don’t Repeat Yourself! Don’t Repeat Yourself! Don’t Repeat Yourself! 「重要的事情说三遍!」
2.4. 对于自己想要学习的内容,制订一下计划,有节奏地学习
我是一个非常爱学习的人,但是有时候还是感觉学习不够高效。经常会由于一些突发情况把原本的学习计划打乱,导致学习效果打折扣。 因为学习一个东西最怕三天打渔,如果能够持续地学习一个东西,我可以把它学习地很好。这时候,我就得结合我自身的情况,选择一段最佳的学习时间,在这段学习时间里我可以不被打扰,保持高度专注。比如每天早上 6.30 起床看一个小时书。
2.5. 尝试使用不同的方式来解决一个问题
在遇到一个没有显而易见解决方案的问题时,你可能费了好大功夫想出一个方案,但是千万要记得,该方案不一定是最优的, 而且很大可能还存在一个更佳的方法。而这个方法只需要你退后一步,换个思路,或者与同事讨论一下就可以得出。 这也是我为什么非常喜欢别人 Review 我的代码的原因,因为别人能看到我代码中存在的不足。另外,有些时候,对现有的方案做一些 「微创新」也能使原本普通的方案变得不普通。
另外,习惯了面向对象,何不尝尝函数式编程?每年学习一门新的不同范式的编程语言,可以极大地开拓你的眼界,给你一些不一样的解题思路。
2.6. 注意劳逸结合
多参加体育锻炼,多去户外走走,运动能够增强人的记忆力,并且有时候还能产生灵感。 如果身体不好,比如颈椎不好,下了班你就只想葛优躺了,因为你的本能告诉你,我不能再写代码了,会挂的。。。 想要成为大神,身体好是前提条件。有人 30 岁成为大神,我资质不好,我 35 岁成为大神总可以吧。 切莫在 30 岁的时候就把身体弄跨了,然后 35 岁转行了,永远失去了成长为大神的机会。
2.7. 向别人解释你的知识,多与人讨论
多写博客,多分享自己的所学所思,这些对于学习者自身也是非常有益的。通过用别人能够理解的语言来解释你学到的东西, 本身就要求你对该知识充分理解。另外,很多人经常感叹「跟你讨论一下,我马上变得有思路了」,这其实就是交流的作用。
2.8. 保持学习的专注
很多知识没有足够的专注力和足够多的时间是很难学好的,保持学习的专注尤其重要。 因为人的大脑在专注模式下面,神经细胞更活跃,你学的东西更容易从短期记忆变成中长期记忆。 而且在高度专注下面,你的解决问题的能力也会提高,原本看起来复杂的东西,在专注面前说不定就不是事了。
2.9. 找到自己的短板并补足自己的短板
发现并找到自己的不足相对来说是比较容易的,但是要补齐短板就非常不易了。 因为人总是有畏难思想的,拖延症是怎么来的,就是你的大脑出于本能去做一些让自己分泌更多多巴胺的事情。 如果自己英语不好,就要下决心把英语攻克。如果自己数学不行,就要下死力气掌握数学。 补齐短板就像渡劫,越早渡劫,越快升仙。
2.10. 给自己设计学习奖励
比如学好了 3D 数学,就给自己买一台顶配 MacBookPro 之类的。为什么游戏可以让你上瘾,因为它有反馈,有奖励机制。 学习数学是非常枯燥的,如果有了这个奖励机制,也许自己就更容易坚持了呢。
PS: 这一点对于有家室的程序员有用,你想学好什么,要获得什么奖励,你可以当着你老婆的面立个 FLAG
3. 小结
Coursera 的这门 MOOC “Learning How to Learn” 强烈推荐给每一伴热爱学习的小伙伴,也欢迎大家给我留言,分享你的学习感悟。
1. Learning How to Learn 笔记
1. 大脑的两种模式
人的大脑存在两种模式: 专注模式(Focus Mode)和发散模式(Diffuse Mode),日常生活中我们都在两种模式中切换,二者并不能共存。
比如: 我在写这篇文章,就专注于整理原有的笔记,敲击键盘、组织语言;如果我想写一篇拟定主题的文章,盯着题目也写不出,倒不如散散步、做做家务,在放松的状态下大脑就可能出现灵感,后者就是发散模式。
画家达利会用这样的方法获得灵感: 躺在椅子上,任大脑漫无边际的思考,同时手里拿一把钥匙来回摇晃,一旦他睡着钥匙掉了,达利就被惊醒,马上把刚刚在“发散模式”状态下想到的东西记录下来,这时记录就是“专注模式”。艺术家如此,科学家也一样,据说爱迪生也是躺着思考,但……他拿的是铁球……难道他们没有互相学习吗?哈哈。
TIP1: 获取灵感或接受新知识时,需要切换两种思维模式: 专注和发散。
2. 对大脑来说,学习意味着什么
显然,大脑是人类最复杂的器官,人从出生就不停学习,大脑也在不停成长。新的研究表明,大脑中大量的神经触突,成年之后也会继续增长和变化。这说明成年人也可以继续学习新知识。新知识意味着脑部神经被刺激,进而产生形态的变化,包括增加神经元之间的联系,以及形成固定的神经模式,这样再遇到类似的问题就不需要思考了。
重复的专注学习,然后休息,用发散模式来固化,经过反复练习,学习的内容就加深并且不容易遗忘。这可以解释为什么艾宾浩斯曲线,要求定期重复来加强记忆。
TIP2:学习和运动一样需要重复锻炼、休息,成果就会固化。
3. 面对拖延症
拖延的大脑机制,可能是这样的:人的进化中形成习惯,如果遇到难事,大脑就自动联想到痛苦和不开心,这时大脑自然的驱使人改变行动——去做开心的事儿,比如刷朋友圈、吃点心,而把要写的作业放到一边!这么看,拖延其实是人脑的自然机制。在我看来,凡是摆脱拖延现象的人,往往是大脑已经习惯于摈弃这种天然回避模式,直接干活然后开心玩,这种人比较少。
如果没有听过番茄工作法,请先补课。本课程推荐蕃茄工作法,和前面提到的两种模式有密切联系,因为番茄工作法的 “工作25分钟+休息5分钟” 的方式,正是大脑在两种模式中的定期切换,这样可以训练自己大脑对两种模式的控制。同样,使用番茄工作法要注意远离手机等干扰,并且及时给自己以奖励,奖励有助于恢复自己的意志力,以便继续艰难的行动。
TIP3:利用番茄工作法开始行动,避免拖延,但要注意减少干扰,更要奖励自己!
4. 关于记忆
记忆分为两种:短期记忆(working memory)和长期记忆(long term memory)。
短期记忆就是当前有意识使用的内容,比如电话号码,能存储大约 4 个组块(chunks),显然容量是有限的,就像一块黑板很容易写满了;长期记忆则存储在其他区域,由短期记忆转化而来,就像把黑板的内容整理到笔记本保存起来。显然,短期记忆容易被干扰,如果我们不能保持专注,一个电话号码也会很快忘掉。这也许可以解释,很多人不提倡 “一心二用”,就是因为短期记忆有限。
同时,睡眠对增强记忆有巨大作用,因为睡眠可以帮助大脑把有害物质代谢掉,并且清除不重要的记忆,睡眠也可以把睡前学的内容形成记忆组块。
TIP4:睡眠有助于记忆,睡前可以学习一会。
5. 关于组块
组块(Chunk)就是大脑中有序的信息集合,大脑把一些信息碎片拼接起来,使得信息更容易记忆,并且可以和其他组块产生关联。关联非常重要,学习过程也是产生关联的过程。
产生组块的三个步骤:专注、理解和练习。好像很简单啊,理解组块的概念,可以解释很多学习中的现象,比如:
- 专心听课的效率会比较高
- 触类旁通,就是组块之间产生关系
- 写文章或读书,找到脉络纲领,就容易理(从上到下的思考方式)
- 复习回顾(recall)有助于记忆
6. 学会的错觉
课程中专门提到一个概念,Illusion of competence,就是好像自己掌握了然而没有。学习本身是一个螺旋上升的过程,其中经常会有觉得懂了,又被自打耳光的情况。不过,这种被打击也是非常正常的。
解决的办法,也是巩固学习成果的办法:
- 回想,加强记忆和产生组块。
- 自我测试(mini-test)会发现错误,非常有效。
不推荐的做法:
- 荧光笔,高亮和下划线容易产生掌握重点的错觉。应该用笔写笔记!
- 思维导图。在没有产生关联的时候,不要用思维导图。
TIP5:复习回顾、自我测试,都可以避免产生学会的错觉,提高学习效果。
7. 过度学习、思维定势和交替学习
- 过度学习(Overlearning)就是掌握某个学习内容后,继续练习。这时要注意不能总练习简单的部分,刻意训练(deliberate pratice)就是专注学习困难的部分,从而达到更高层次。
- 思维定势(Einstellung=Mindset),专注模式的负面结果就是思维定势。
- 交替学习(interleaving)就是在多个学习内容间切换,增加组块之间的联系,提高创造力。
8. 僵尸和习惯
僵尸模式就是不经大脑的思考,也就是习惯,大脑形成组块后就不思考了,直接驱动行为。所以拖延回避这些行为,本质上是正常反应。不要耗费意志力来对抗拖延,因为意志力很宝贵。
习惯的四阶段理论,在 《习惯的力量》 里有论述,如下:
- the cue:暗示,触发进入僵尸模式的诱因
- the routine: 行为习惯,就是自发的行为
- the reward : 拖延带来的结果是愉悦,就像僵尸只考虑吃这个结果
- the belief : 要对习惯本身有信心
9. 对抗拖延的方法
- 纠正负面情绪
- 注意力集中在过程(Process)而不是结果(Product)上。(结果触发负面情绪,引起拖延)
- 专注于番茄钟,就是专注过程。
- 顺其自然的应对干扰。
做计划是好事,然而要注意计划应该是过程导向,而非结果导向,把注意力放在过程上,会减轻拖延。课程还讨论了一些常见的方法,如:
- 制定日常 todolist
- 建立每日仪式行为
- 分解任务,确保奖励足够多
- 延迟满足,完成计划再奖励自己
- 关注引发拖延的 cues
- 拖延发生了,也要有备用方案
- 要事优先,先吃大青蛙
- 对抗干扰。
TIP6:制定计划时,专注过程而非结果。
10. 记忆方法
前面提到记忆的分类,课程给出几个记忆方法:
- 有意义的群组(meaningful groups),很多记忆大师都是这样记忆无序内容的,我听过一些课程有老师也这么用,比如把一系列名词编成故事。
- 视觉记忆
- flash card
- 比喻和类比
11. 激发潜能
如何成为更好的学习者(并非要成为学霸!),课程也给出一些已知的研究成果:
- 锻炼!体育锻炼有助于脑神经元的生长,尤其是儿童。
- 找到关键期,人的学习某些内容有关键时期
- 学习如何学习,比如这么课程,研究一下学习这件事
- 学习不是线性增长的,有低谷和反复
组队学习也很有意义,左右脑协同工作时,右脑的发散模式可以抽身出来发现错误,因而和他人共同学习,容易从外部看到朋友的问题。
TIP7:去锻炼吧,强健体魄的同时能锻炼大脑。
TIP8:找一个小伙伴一起学习,能减少犯错。
12. 考试技巧
课程末尾给出一些考试技巧,没试过的可以尝试一下:
- 从难题开始:先做难题,一两分钟不会就跳过,大脑会利用发散模式思考这个题
- 转换心态:把害怕考不好,想成“我很兴奋,能考好”
- 呼吸可以减轻焦虑,腹部呼吸而不是胸腔呼吸
- 做选择题,盖住选项,写答案
- 直面恐惧,have a plan B!考完就不想太多,考不好也有出路
- 积极担忧和消极担忧,考前翻看学习资料,不要自责,放松。
- 从后往前检查,更容易找到错误
总结一下八个提示:
- 获取灵感或接受新知识时,需要切换两种思维模式:专注和发散。
- 学习和运动一样需要重复锻炼、休息,成果就会固化。
- 利用番茄工作法开始行动,避免拖延,但要注意减少干扰,更要奖励自己!
- 睡眠有助于记忆,睡前可以学习一会。
- 复习回顾、自我测试,都可以避免产生学会的错觉,提高学习效果。
- 制定计划时,专注过程而非结果。
- 去锻炼吧,强健体魄的同时能锻炼大脑。
- 找一个小伙伴一起学习,能减少犯错。
本文探讨了学习中的常见误区及有效策略,强调实践与回顾的重要性,并介绍了《LearningHowtoLearn》课程精华,涵盖大脑运作机制、克服拖延及提升记忆方法。

585

被折叠的 条评论
为什么被折叠?



