诺贝尔物理奖获得者费曼发明了一个高效学习的方法,叫「以教为学」。这是一种快速有效的学习方法,即如果你想很好地理解某个东西,就试着用简单的语言去解释它。
视频来源:From Freedom in Thought
汇集全球优质短视频,点击下载【Eyepetizer | 开眼视频】在开眼,短视频也像看大片!
费曼技巧早就写在了初中课本里。
费曼技巧并不是单纯由经验得出的学习法,而是有理论支持的技巧。
费曼技巧也不是某领域独有,最常使用费曼技巧的是机器学习领域,
因为费曼技巧在机器学习中不是别的,正是验证集 (validation set),
在所有的竞赛和论文的调参中从不缺席。
为什么一个小小的验证集有如此强大的作用?
这并非什么心理学的原理,而是数学的最优化(optimization)原理,
是直接关乎于学习到底是在达成什么目的。
下面的视频会先从“什么是学习”讲起,
一共有 8 个部分来讲解费曼技巧背后的原理。
将会让你明白:费曼技巧在学习过程中到底起了什么样的关键作用。
注:每部分虽短,但信息特别密集,请边暂停边思考每句话,并联想身边的例子。
为什么费曼技巧被称为终极学习法 https://www.zhihu.com/video/1051992567037751296不过这并非全部,在《学习观》以后的视频中,
将会从另一个全新的角度来解释费曼技巧。
大家会更加明白在细节上该如何正确使用费曼技巧。
比如,我们已经知道了“解释”的重要性,
但该如何“解释”一个知识?
什么样的“解释”才算是有效的?
该如何组织解释性的语言(工作报告、ppt演讲)?
费曼技巧是一种「以教为学」的学习方式,能够帮助你提高知识的吸收效率,真正理解并学会运用知识。这个学习方法其实很简单,就是验证你是否真正掌握一个知识,看你能否用直白浅显的语言把复杂深奥的问题和知识讲清楚。
具体应用方式如下:
1、向不熟悉某议题的人解释该议题,用他们能理解的方式及最简单的语言向他们解释;
2、发现自己不能理解的地方或不能简单解释某议题的地方并记录;
3、回头查看资讯来源并研读自己薄弱的地方直到能用简单的语言来解释;
4、重复前面三项步骤直到能够专精这个议题。
整理自 @开眼科技精选 什么是费曼技巧?回答中的讲解视频,完整视频的可以戳左边
如果你能运用好费曼技巧,那么你就可以做到:
因为要做到能将复杂的问题用简单的语言说清楚,必须对知识有深刻的理解和应用。这需要你做到:
// 拆分和压缩知识 //
费曼技巧具有拆分知识作用的观点引自@YJango《学习观》的11:19处。
拆分问题:当你想了解一个复杂的知识点时,需要把它分而化之,切成小知识块,再逐个对付。
比如《金字塔原理》这本书,为了让你理解并运用这个思维方式,作者从表达的逻辑、思考的逻辑、解决问题的逻辑、演示的逻辑这四个方面来进行拆分并阐述。具体细节可以看看下面这张用XMind制作的思维导图。
压缩知识:一本书很厚,里面的信息容量很大,我们无法记住所有的内容。但聪明的人会把书本呈现的信息进行压缩,提炼出规律和知识,来达到和原有的知识体系产生联系。压缩知识的过程,也是理解和内化的过程。
// 理解和简化知识 //
为什么很多人不会运用知识,无法做到举一反三?很大原因是因为你没有真正地去理解知识。要理解一个复杂问题,你需要调用自身的知识储备。
比如要理解「沉没成本」这个概念,你需要了解一点经济学和商业知识背景。这就要求你“回头查看资讯来源并研读自己弱点的地方”。
当你真正理解这个概念后,要如何把这个知识传授给没有相关知识背景的人?举例子,简化知识,把复杂的知识用简单的例子来进行说明。
举例子是一个能增进专精程度并学习同理的好方法,这促使你用对方的程度来理解并透过与他们熟悉的议题有关的方式给予他们新的知识。你在理解和简化知识的过程中会不知不觉用到类比、举例、概括、对比等深度学习的方法。
// 理解和复述知识 //
「如果你不能简单地解释一件事,那你就还没有弄懂它。」
很多时候我们自以为已经掌握了某个知识,但其实并没有。如果你不能讲清楚,也就说明你没有掌握。这时候你就需要更深度地了解知识。理解和复述是相互促进的作用,费曼技巧就是在不断强化这个过程。
原来这叫费曼技巧,我们高中老师经常这么干,我还以为他在偷懒、我特聪明呢。
今天才知道,不是。
还有一种小组学习法,2-3人组成小组,小组宜小不宜大,不能超过四人,互相抽问抽背,复习效率极佳,连政治都可以高分过关并久忆不忘。
后来我到美国读书才知道,这叫犹太学习法。
我告诉你,学习方法事关效率与功效,极度重要,极度重要,极度!!!
就是好学生给同学讲题,结果越讲成绩越好。
等富士X80。
题目问的是宋氏三姐妹,结果回答都在说宋美龄和宋蔼龄,咋没人说说宋庆龄?毕竟二姐名气最大,地位最高。
宋二姐跟孙中山在上海住过一段时间,孙中山一开始没有房子,是租房住的,一个月65块租金,肯定租不到什么好房。后来有前来拜访的富裕华侨,觉得堂堂国父住这样的房子不像样子,就一起捐了一个花园洋房给孙中山,这样孙宋夫妇才算在上海落户……先总理稳定下来以后还写信给孙科,叫他可以带老婆孩子也过来住。
后来先总理去世,死前特意写遗嘱,把房子留给宋庆龄,并请托何香凝照顾她,除此之外几无遗产。孙中山死后,广东省国民党政府给宋庆龄一笔1万元的抚恤金(对,是总共一万元),宋庆龄就靠这一万元的利息生活,大家数学好的自己算算一个月能拿多少利息咯?1927年412后,宋庆龄彻底跟蒋介石闹翻,同时跟宋美龄宋子文也闹翻了,不可能再从家里拿钱。最后在上海也呆不下去,就去了苏联,到苏联几乎用光积蓄,经常开完会坐车的钱都没有,也没有冬衣,就顶着寒风走路回去。
顺说,宋庆龄在上海的房子抵押过三次。
说实话,宋庆龄如果想要钱,哪怕是只想要过得好点儿,只要稍微对妹妹妹夫露点好脸,哪怕是对自己亲弟弟露点好脸,都会立刻被供起来。
然而她宁愿抵押房子,也不打算给亲戚好脸色。
宋二姐是天生的革命者。
从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用。
因为是在工作中培训,就必然有两个约束:实用、时间紧,因此就不能像大学那样,把所有的知识点都面面俱到的讲到。而只能挑基础的,实用的,难理解的讲。至于其他边边角角的知识,就一笔带过。一则没有时间,二则不常用,再则既使讲了,学生印象也不深刻。总之一句话:“好钢用在刀刃上”。
下面,就根据我的实践,具体谈下学习过程:
1.基础知识
我学习java的时候,先是通读了《Java编程思想》,然后是《Java核心技术》。当时这两本书还不像现在这么厚,而刚才我把案头的《Java核心技术》第9版翻了翻,上下两册已经1700多页了,可想而知,如果要把它通读一遍,且不说把所有的代码都调通,就是当小说读,估计也需要些时间。
但我现在教学依然首推《Java核心技术》,主要是体系完整,实例多,可操作性强。但对初学者,我一般是只讲前6章,也就是下面的内容:
就《Java核心技术》第9版来说,也就是到250页为止,加把劲,1个月拿下完全没问题。
因为你是自学,所以建议你一定要把其中的代码都调通,课后的作业尽量去做。除此之外,还有两点特别重要:
#.学习笔记
因为你是自学,不像在企业中学了就能够实践,印象自然特别深刻。而自学因为没有实践的及时反馈,所以记笔记就显得特别重要。因为记笔记就像写作一样,是整理思路的绝佳方法。同时学习笔记也是你以后开发,面试的绝好资料。
学习编程,人跟人是不一样的,别人觉得难理解的东西,对你却不一定;而你觉得难理解的东西,别人可能又会觉得特简单。而学习笔记就是自己专有的“难点手册”,有点像高考时的“错题本”,以后无论是在面试前,还是在日常工作中,随时都可以翻出来看看,自是获益匪浅。
#.分门别类保存demo
学习笔记是很好的文字资料,但编程界有句话说的特别好,所谓“no code, no text”,意思就是说:千言万语都没有一段代码来的实在。
以我的经验,在你在学习的过程中,就某个知识点,无论当时理解的多透彻,调试的多棒,只要时间一长,等到了实用的时候,肯定会碰到各种各样的问题,一些看似简单的东西,此时死活就是调不通,正所谓人到事中迷。这个时候,如果你手头恰有运行良好的demo,打开参考一下(甚至直接拷贝过来),问题自然迎刃而解。而且因为这些demo都是你亲手调试出来,印象自然特别深刻,一碰到问题,在脑子中自会立刻涌现。
所以说,在学习的过程,一定要善待你调通的demo,千万不要用完了就扔,等后来碰到困难,想要用时却找不到,追愧莫及。正确的做法就是把所有调通的demo,分门别类的保存起来,到时候查起来自是得心应手。
人都说“书到用时方恨少”,其实代码也是这样,所谓“demo用时方恨少”。
2.Spring
目前在Java EE开发中,Spring已经成为和Java核心库一样的基础设施,所以说如果想成为一个合格的Java程序员,Spring肯定绕不开。另一方面,如果掌握了Spring体系,Java基本上就算入门了,就有能力进行一些实用级的开发了。
但Spring本身也是日渐复杂,衍生项目越来越多,但最最核心的概念依旧是IOC和AOP,掌握了这两个概念,再把Spring MVC学会,再学习其他的衍生项目就会平滑很多。
同时,因为Spring本身就应用了许多优雅的设计理念,所以学习Spring的过程,也是加强Java基础知识学习的过程。因此等你掌握了Spring,原来很多你理解不透彻的Java特性,此时就会恍然大悟,包括接口、抽象类等。
我学习Spring,读的第一本书是《Spring实战》,坦率的说,书很一般,但市面上比它好的书,我却没有遇到过。还有一本《Spring源码深度解析》也不错,对Spring的设计理念讲的尤其透彻,虽然整本书读起来有些艰涩,但前几章却生动有趣,也是整本书的精华。所以建议你在学习Spring之前,先把该书的前几章通读一下,然后再回过头来学习《Spring实战》会顺利很多。
以我经验,要学透Spring,终极的方法还是阅读源码(我当时就是这么干的),待把Spring的核心源码通读了,人就真的自由了(所谓无真相不自由),不仅是对Spring,而是对整个Java体系。以后再遇到其他框架,大概一眼就能看出其中的脉络,所谓到了“看山不是山”的境界。但这都是后话,可以作为以后你努力的方向。
和学习Java基础知识一样,学习Spring也一定要记笔记,一定要分门别类保存demo。
老实说,Spring对初学者不算简单,因此最好能有个好老师带一下,不用太长时间,2个课时即可,然后就是在你遇到大的困难时,能及时的点拨下。
以我的经验,要初步掌握Spring,大概需要1到1个半月的时间。
3.其他知识
Spring是Java编程的基础设施,但真要进入到实际项目的开发,还有些东西绕不过,包括 MySql,Mybatis,Redis,Servlet等,但如果你经过Spring的洗礼,这些东西相对就简单多了,以我的经验,1个月的时间足够了。
4.实践
学习Java,光学不练肯定是不行的。但因为是自学,所以就没有实际的产品让你练手,但也没有关系,谁大学还没有做过毕业设计呢?以我的经验,大家最爱的“学生管理系统”依旧是个很好的练手系统。
别看“学生管理系统”逻辑简单,但麻雀虽小五脏俱全,其中数据库设计、Mybatis,Spring、SpringMVC,Servlet、Tomcat一个都不缺,绝对的练手好伴侣。
还有,虽然你的学习重点在Java,因为要做一个完整的demo,前端的配合肯定少不了。因此就免少不了要学一些简单的JS、HTML知识,但因为前端本就是个很大的topic,所以一定要控制好边界,千万不要顾此失彼。就“学生管理系统”来说,在前端上,只要实现一个包含table、textbox、button,能发送REST请求到server,能实现学生的“增删改查”的简单页面即可。
作为一个练手项目,目标就是把Java的主要技能点串起来,所以自不求尽善尽美(也不可能),所以1个月时间足够了。
.最后
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
在日常的教学中,我常把下面这句话送给学员们,今天也把它送给你:
“道路是曲折的,前途是光明的!”
祝你好运!
--- 上面是原答案 ---
我把上面的内容作了下整理,画了学习路线图,内容也有些升级,供参考。
因为有朋友,通过留言或私信方式问我:Java中有哪些知识已经过时,不需要再学习了?
回答的多了,就感觉这是一个普遍的问题,因此统一整理了下,作为这篇文章的补充,希望对你有用。