在我们十几年的求学生涯中,关于知识的获取基本上都在执行以下步骤:学习课本上给的教程案例,练习课后的配套习题,如此反复,直到通过考试。

自然而然的,很多人会把这种学习方式映射到编程上:学习基础语法,练习几个小的教学案例,如此反复,直到认为学会编程。

长此以往,很多人都会陷入一个瓶颈:自己的编程水平似乎到达上限

造成这个结果的原因之一在于他们用学生思维的方式学编程,而不是用开发者的思维学编程,也就是说这种学生思维应用到编程学习会极大的束缚程序员的提升。

那怎么样才是程序员该有的编程学习方法呢

在我看来,费曼学习法是程序员提升编程能力必须掌握的一个方法

什么是费曼学习法呢?

简单来说就是以教促学,每当你认为学会或者掌握一个知识后,去给别人讲明白,通过这种方式对自己做一个检验。

为什么提升编程能力需要掌握费曼学习法呢?

李笑来曾经分享过一个观点,他说教育主要分为 3 个环节——

      1、 教:我们最常做的读书、学习、听课等       2、 练:就是练习,大量练习,重复练习       3、 教练:在练习过程中遇到问题,教练帮忙指出来,然后继续练。1、2 不断循环,直到把知识、技能练熟,能用到实践中,帮自己做成一些事情,创造价值。以此作为参考,编程的学习也是可以分为 3 个环节---     1、学:就是学习模仿优秀的项目,阅读优秀的源码     2、练:就是练习,找 demo、小型项目、开源项目,大量重复的敲代  码     3、教:就是教练,通过写教程或者视频的方式给其他人讲明白一个项目1、2 两点属于被动学习,吸收效率在 10% 至 30% 之间,而 3 属于主动学习,也就是费曼学习,吸收效率高达 90% 。也就是说,我们在学习编程的过程中,为了提高学习效率,可以主动的去写技术博客分享,注意是写技术博客而非技术笔记,笔记是给自己看的,博客是给别人看的,在这个过程中,表面上你是在教会别人,事实上你通过教会别人的方式来逼自己查缺补漏,你可能以为你懂了,结果发现无法表达出来,事实上还是没有理解透彻;你以为你讲明白了,别人一问,发现还是有遗漏点。以我个人为例,我的算法水平是什么时候开始突飞猛进的呢?答案就是这两年我写了一些算法分享的文章,并且是通过动画这种费力的方式希望能让小白都看懂,在这个过程中,我很容易发现,如果我自己没有深刻理解题目,即使一刷可以 AC,隔段时间也是会出现一脸懵逼的情况。希望今天的这个分享能对你有所启发,觉得内容对你有所帮助的,还请点个「在看」支持,谢谢各位啦~·················END·················

你好,我是程序员吴师兄,程序员与自媒体双料博主,GitHub 70k star,知乎 10w 关注,公众号 25w 粉丝。


很开心与你相遇,希望和你一起成为更厉害的程序员,一起进步!


收录于话题 #程序人生

10

上一篇晚上看了轮子哥的知乎想法,我失眠了


©著作权归作者所有:来自51CTO博客作者mb5fe18fab305a5的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 2021 年,程序员技术公众号生死劫
  2. 前端程序员有必要学一点C语言吗?
  3. 为什么程序员应该写博客?用什么博客系统?在哪写?
  4. 程序员的快乐往往就是这么朴素无华且枯燥!
  5. 数据结构与算法: 三十张图弄懂「图的两种遍历方式」
  6. 程序员用python给了女友一个七夕惊喜!
  7. 毕业十年后,我忍不住出了一份程序员的高考试卷
  8. 在 GitHub 公开源码,造成百万损失,大疆程序员被判 6 个月,罚款 20
  9. 程序员群体的性取向如何?Stack Overflow 年度调查有亮点

随机推荐

  1. 为什么推荐使用for-each而不是for循环遍
  2. Android源码50例汇总,欢迎各位下载
  3. 万字长文带你彻底理解synchronized关键字
  4. 面试官问我,使用Dubbo有没有遇到一些坑?我
  5. 你了解java中的几种编码方式?解决乱码问题
  6. Android的MediaPlayer
  7. 让各位久等了,你要的大杀器快要来了
  8. java日志框架体系梳理,简单直白
  9. Spring IOC知识点一网打尽!
  10. 为什么推荐使用try-with-resources代替tr