首页 > 代码库 > 阅读与感悟-如何高效学习
阅读与感悟-如何高效学习
第一部分-整体性学习策略
整体性学习主要基于三个观点:
①结构
②模型
③高速公路
①结构:
结构就是与所掌握的知识相关的方方面面。例如对于Java程序员来说,掌握Java语言意味着需要掌握与之相关的基本语法(变量、类、循环、判断...)、IO流、swing、继承和多态、设计模式、多线程、网络编程...
而工作经验也可以将其理解为结构,例如在某一标准版软件上做二次开发,随着开发次数的增多,软件开发人员会对标准版代码包结构、数据库设计、具体代码越来越熟悉,当有问题出现时通过分析就能大概知道是如何产生及应该如何处理,而不用去模拟重现问题。这就是由于其大脑中的标准版软件结构很发达导致的。
②模型:
模型是对结构繁多的知识点的一种压缩,将其关键知识提取出来并以一种易于理解的形式来记忆,以达到形成模型的效果。例如Java编程语言中的变量这一概念,首先明确变量的核心知识是用于存储信息的,但变量是有不同类型的,例如long、int、double...我们可以将变量想象为瓶口形状不一的瓶子,但瓶内都可以盛放东西。这样就将这一核心知识理解的更加深刻,并可以以此来引申与之相关的其它知识。
③高速公路:
高速公路即结构与结构之间建立联系,是指在理解当前知识时寻找与其相似的其它知识,以此来产生联系。这种联系的建立并不容易,但一旦建立则意味着思维上的一种创造。使本不相关的知识之间产生了联系,有益于对当前知识及产生联系的知识有更加深入的理解。
整体性学习的顺序:
①获取
②理解
③扩展
④纠错
⑤应用
①获取:
获取阶段要注意三点:简化、容量、速度
这三者的关系可以这样理解:假设在规定的时间内要读完一本书,从头到尾将每个字都仔细读一遍,时间上肯定不够,这就需要对书中的信息做筛选,捡其中的重点来阅读,这样虽然每页、每章所获取的知识量会减少,但一本书有百来页十几章,这样就能使知识量乘以n倍,这就是容量。
简化信息要求信息的筛选能力强,因为一本书中不是每一句话都是有用的,出版信息、序言、尾记、作者的一些口头语、生活唠嗑等都不是最重要的,重要的是那些关键信息,而对于关键信息的定位是需要大量的阅读或个人的经验得出的。
容量要求阅读的数量要上去,一个拥有一万本书却不看一本的人与一个拥有10本书却看了8本的人,他俩收获的信息容量是不成正比的。因为书只要看了才有价值,不然它们只是纸质较好的一堆纸张而已。
在有了大量的阅读后阅读速度会有一定提升,这就跟经常接触电脑敲击键盘的人一样(一个更恰当的例子,熟练的手机党敲击虚拟键盘的速度也是很快的),长时间的接触速度自然会增长。但是自然增长的速度是有限的,因此可以通过刻意的训练来使阅读速度进一步提升。
②理解
理解是对获取信息后一个初步加工的过程,这个过程主要是了解信息的表面,例如在现在的互联网时代,信息大爆炸,我们每天从PC、mobile、WeChat上能获取到各种各样的信息,哪里楼价又涨了、哪只股票又跌了、哪里又发生自然灾害了、哪家电商又做活动了...我们通过碎片化阅读获取这些信息后,将这些信息经过个人理解(或断章取义、或整段复录),使其存储在大脑中,并在一些谈话、讨论的场合下作为依据说给别人听。
假如倾听者也只是将这些信息简单的理解后存入自己的大脑,那么这些信息并不能给原接受者带来什么影响。但假如倾听者兴趣盎然,尝试深入探讨这个话题,那么他提出的问题或许会让原接受者感到为难,因为原接受者并没有对这些知识进行深入理解(扩展:了解信息产生的背景、影响、联系...),导致要么无法进行下一步的交流,要么就按着原接受者自己所谓的‘深入理解’进行下一步交流。而这两种下一步所产生的结果和影响是截然不同的。
③扩展
扩展是对初步理解的知识进行深入理解,深入理解可以分为三个方面:
1)深度扩展
对知识的内在探究,如知识的背景、影响...例如全国闻名的‘双十一购物狂欢节’,这个节日是在什么背景下产生的,为什么会产生且一直延续到现在,其造成了什么影响,参与或不参与的人又是怎样看待它的...
深度探究比较耗费时间及精力,因此对于自身并不感兴趣的知识,可能并不会在这方面上多花时间。但这个方面却是有助于结构的形成。
2)横向扩展
与所获取信息关联的其他信息,例如说到双十一,还有个双十二,这两者有什么区别呢?淘宝天猫创造了双十一,那其他的电商有创造其他的节日吗?其他的行业是否也尝试过创造一些节日?双十一期间所产生的一些社会现象是有因果关系的吗?...
横向扩展需要个人从其所掌握的其他信息或个人经历中,找寻与所想要掌握的信息之间的关联(与当前信息类似)。
3)纵向扩展
尝试与所掌握的其他信息产生联系(这两者实际上是有很大差别的,或者说乍一看毫不相关的),这种扩展的局限性是关联可能并不准确,但却是能在一定程度上产生联系(比喻),不能因为局限性而否定关联,创造性的思维都是发生在纵向扩展的。
例如尝试将公司的发展与生物进化产生联系,生物进行遵循优胜略汰、物竞天择,而一家公司在其行业中的发展也是要经过洗礼与淘汰的(若想最终走到行业的顶尖)。可以看到这两者在一定程度上产生了联系,但是局限性也能明显,生物进化是经过了几千代,而年限稍长的公司也就百年。
因此纵向扩展需要明白联系的局限所在而不能忽视它们。
④纠错
在对知识深入理解后,知识可以更加深刻的存储进大脑,但是不能保证所理解的知识都是正确的,因此需要对知识进行审核,删除错误的理解、联系,补充遗漏的正确的理解、联系,这样能够保证知识存入大脑的正确率及可靠性。
⑤应用
学以致用其实就是想让我们将所学的知识运用在实际生活中,但并不是每个知识都有运用的机会,因此我们要去创造。将知识运用在实践中才能发挥知识的最大价值,也才能对知识有更深入的理解。好比一个程序员阅读了大量的技术书籍,但却没有敲过一行代码,则他只能算是拥有丰富的理论知识,不具备实操能力。因为实际操作可以对所学的知识进行检验,删错补缺,使知识成为个人真正的知识。
⑥测试
这个阶段是要找出自己学习知识时哪个环节比较薄弱,或者说是由于哪个环节导致知识的最终学习收益不明显,通过测试发现问题后将其加强。
1. 获取
在获取阶段可能存在的问题有:不够专注、速度缓慢,不够专注可以使用指读法提高注意力,因为光靠眼睛阅读可能因大脑思考别的事情而分心,并且不易察觉,但用手指引导眼睛来阅读能够有效避免分心,即使分心时也能明显感觉到;速度缓慢可能是由于对知识的关键信息捕获不准确或本身对知识不理解,前者通过大量阅读和丰富知识可以有效提高,后者需要多理解知识的基础部分。
2. 理解
在上述获取阶段里有做说明,其实就是对知识本身不理解,需要加强该知识相关的基础理解,对基础理解较深后进阶的知识才有可能理解,这跟建房的原理一样,只有地基足够牢固建出的房子才会牢固。
3. 扩展
这个阶段就是尝试将知识与其他知识之间产生联系,若感觉建立联系困难,可能是由于自身阅历不足、知识储备不够丰富所致,这就需要自身一定的积累了,知识不是一蹴而就,非得要靠时间的积累与沉淀才能够产生足够多的联系。
4. 纠错
只有足够多的联系纠错才显得有意义,因此它与扩展是有一定关系的,这个阶段出问题主要是纠不出来错,原因可能是没有产生足够的联系或没有发现建立的模型的局限性。纠错虽不一定是必须,但好处是检验自身对知识的理解是否有偏差,将错误的理解消灭在源头避免错误在大脑中根深蒂固。
5. 应用
这个阶段出问题主要是不敢去实践,没有尝试将知识运用的实际中,这就导致知识价值没有最大化,因此解决方案自然是多实践,从实践的错误中总结及修改。
信息结构
①随意信息
②观点信息
③过程信息
④具体信息
⑤抽象信息
①随意信息
这种信息一般需要通过机械记忆来反复存储,因为这种信息不易产生联系,只有一个结果而无法进行探究。既然很难与其他信息产生联系,那么可以尝试从一系列的随意信息中找到共同点,通过共同点来找到记忆的突破口。
②观点信息
即思想的表述、思想的争执,这样的信息中会包含一个核心观点,通过抓住核心观点来保证对这类知识的理解,也通过对比思想的方式来理解,因此这类信息很容易找到与之相关或相对比的信息。
③过程信息
一种指导性的信息,这种信息前后具有一定的关联性,这种信息也很容易理解,因为它是一系列的信息连续的,比如游泳的动作、驾驶汽车的动作、菜品的烹饪说明...
这种信息通过反复亲身练习就能较好的掌握。
④具体信息
通过感官所获取到的信息或事实信息,这类信息在实际接触中较多,因为我们每天就是通过感官与这个世界交互的。
⑤抽象信息
这类信息不易理解,或者说不易浅显的理解,其对原本大量的知识进行了提炼,提取关键的信息来用另外一种名称或解释来表示它。其实可以将抽象信息看成一种模型,因为抽象信息是可以深入探究的,探究其相关的知识、原本的知识,而对模型的深入探究自然是了解其背后的结构。计算机程序设计语言就是大量的抽象信息,每个信息点背后可探究的知识是非常丰富的。
第二部分-整体性学习技术
一)获取知识
①指读法
由于使用眼睛来阅读,会存在不专心的现象即突然的分心,且一旦分心不易察觉直到回过神来,而通过手指引导眼睛阅读起到了类似监督的的效果,因为手指是在移动的,一旦分心手指会不受控制,能够明显地感受到不专注,因此采用这种技术不但提高专注力,也可以影响阅读速度和效果。
②积极阅读
这种技术强调对于每个知识点采取整体性学习策略,意味着当下对知识的获取不再是简单的理解表面意思而是即时尝试与个人经验或其它知识建立产生联系,这样有助于对知识的深入理解与记忆,因为将自己熟悉的事物与当前学习中的知识联系起来,会产生熟悉感与情切感,能够使知识被很好的存储进大脑,能够通过‘左边’联系到‘右边’,通过‘右边’联系到‘左边’,通过这种技术可以对一个知识了解后再用‘自己的理解’(所产生的联系)复述。
二)联系观点
①比喻法
比喻法非常适用于抽象信息,运用比喻法将信息与熟知的知识产生联系,有助于理解及记忆。当然每次使用的比喻并非都恰当,可能两者只有非常少的关联,但在去寻找非常合适的比喻之前不妨适用最先想到的比喻,只要清楚的知道其局限性便可,这样不至于对原本所要掌握的知识理解产生偏差。因为若花费大量的时间去找很合适的比喻,一旦寻找失败意味着对自信心的打击,会对学习效果产生影响,因此不必纠结比喻不够完美,先想到即使用只要了解局限何在并避免这部分便可。
②内在化
这种技术非常适合具体信息,因为具体信息中存在大量图像且对于知识的阐述量较多,而内在化是将知识以图像的形式呈现在大脑中,并调用丰富的感官元素如触觉、嗅觉、视觉、听觉...来丰富图像,因此能够使知识较为深刻的存储在大脑中。同样一开始的图像不必很丰富,可以从简单开始再一步步丰富细节。
三)随意信息的处理
四)知识的延伸
模型纠错
发现模型存在错误时要分清楚是简单错误还是关键概念错误,若是简单错误只需对模型稍加修改即可,若是关键概念错误,则意味着模型建立错误,与此关联的比喻、内在化都可能存在一定的问题;
对模型的纠错要在实际应用中去发现,而在实际应用中要去尝试解决多类型的问题而不是某一类型的问题,因为单一的问题对模型纠错可能起不到多大效果,甚至模型存在错误但恰巧适用于这单一问题的解决,因此多类型问题的解决不仅对模型纠错存在好处,也让自身解决问题的广泛度提高,看待问题的角度更多元。
另外实际应用应该分散到平时的时间中,而不是集中的在一点上,集中式会导致一定的时间压力,这跟考前靠一天复习一样实际效果并不好,因为要消化的知识量太大,导致实际吸收的寥寥无几。因此分散到平时加以应用不仅能让自己对知识的掌握更加熟练,也让自己对随时出现的考核、问题能够较为轻松的应对。
整体性学习的实际应用-费曼技巧
该技巧适用于原本不理解或理解不深入容易遗忘的知识。
1)确定需要理解的概念;
2)以老师的角度尝试将知识讲解给学生听,这样可以考察对已理解知识的掌握和发现未理解的知识;
3)对于未理解的知识部分应该查阅相关资料做到将其理解,这部分不可着急,而是实实在在将该知识理解,然后重复第二步;
4)到这一步时,表明所要理解的知识点都已经掌握,但是需要对复述出的理解加以简化,即对复述该知识时对抽象的、不易理解的、取源于原文献的描述进行简化,可以尝试比喻法,这样即将知识以简单的、自己的语言进行复述,这样才能做到真正的理解。
以上需要注意的是,要正视不理解的知识,花时间去理解它,这样才能在使用中避免因知识的不理解、不清楚而导致的问题。
以上过程实际是对自我的测试,对知识理解程度的考察。有时知识看似被理解、吸收了,但是在转述给他人的时候,发现理解太浮于表面,甚至大量引用原书中的句子去描述对知识的理解,这就表明这些知识实际是没有经过自身大脑思考的,而是对书本知识进行了刻录,所以但凡对知识深入理解的人,再实际讲解这个知识时都能由此来引申出其他知识或对比或类比。因此会发现原本一个单薄的知识被讲解的如此丰富、生动,而不是调单、苍白的说明。
第三部分-超越整体性学习
高效率的学生
能量管理
1)坚持每周运动,即便不去健身房在家也可以做运动,例如仰卧起坐、俯卧撑,一次坚持半小时以上,这样长时间的坚持有助于能量储备;
2)保持每天睡眠时间在七小时以上,充足的睡眠才能使自己拥有饱满的活力,早上犯困、精力不够旺盛常常是由于睡眠不足导致的;
3)减少垃圾食品及饮料的摄取,多吃饭菜、面食,保持身心健康;
4)多喝水,不要因喝水少导致口渴才去喝水,这样对身体不好;
5)少吃多餐,保持一天内营养供给稳定;
不要‘学习’
这个观点告诉我们学习应该是有目的性的,没有目的性的学习往往难以坚持,会觉着枯燥无味。例如我学习本书就是为了检查在学习其他知识时到底是哪个方面导致学习效果不好然后针对性的去改进,以此来提升学习的效果,同时也运用书中的技巧使知识的理解更加深刻,以此来指导所有知识的学习,这就是目的。另外从我的工作上来说,我想了解Java高并发相关的知识、如何构建大型网站、如何使测试自动化、想更深入理解基础知识这些都是目的。
因为学习本身就是一件个人的事,学习不应该为别人而是为自己,别人强迫的学习只是一种意愿的强加,唯有发自内心的学习才会持久,才会使自己在学习中更投入、更有收获、更充实、不会轻易放弃。
阅读与感悟-如何高效学习