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

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

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

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

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

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

什么是费曼学习法呢?

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

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

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

1、 教:我们最常做的读书、学习、听课等

2、 练:就是练习,大量练习,重复练习

3、 教练:在练习过程中遇到问题,教练帮忙指出来,然后继续练。

1、2 不断循环,直到把知识、技能练熟,能用到实践中,帮自己做成一些事情,创造价值。

以此作为参考,编程的学习也是可以分为 3 个环节---

1、学:就是学习模仿优秀的项目,阅读优秀的源码

2、练:就是练习,找 demo、小型项目、开源项目,大量重复的敲代  码

3、教:就是教练,通过写教程或者视频的方式给其他人讲明白一个项目

1、2 两点属于被动学习,吸收效率在 10% 至 30% 之间,而 3 属于主动学习,也就是费曼学习,吸收效率高达 90% 。

也就是说,我们在学习编程的过程中,为了提高学习效率,可以主动的去写技术博客分享,注意是写技术博客而非技术笔记,笔记是给自己看的,博客是给别人看的,在这个过程中,表面上你是在教会别人,事实上你通过教会别人的方式来逼自己查缺补漏,你可能以为你懂了,结果发现无法表达出来,事实上还是没有理解透彻;你以为你讲明白了,别人一问,发现还是有遗漏点。

以我个人为例,我的算法水平是什么时候开始突飞猛进的呢?

答案就是这两年我写了一些算法分享的文章,并且是通过动画这种费力的方式希望能让小白都看懂,在这个过程中,我很容易发现,如果我自己没有深刻理解题目,即使一刷可以 AC,隔段时间也是会出现一脸懵逼的情况。

希望今天的这个分享能对你有所启发,觉得内容对你有所帮助的,还请点个「在看」支持,谢谢各位啦~

·················END·················

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

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

一个正确的编程学习方法相关推荐

  1. java编程学习方法_在线学习Java编程的最佳方法

    java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...

  2. 【代码猴子-培养正确的编程态度和方法】--《编程匠艺》

    转来的! [代码猴子-培养正确的编程态度和方法]--<编程匠艺> 从 博客园-首页原创精华区  作者:小伦 有 41 人喜欢此条目 作者: 小伦 发表于 2010-06-16 15:22  ...

  3. 最快速的编程学习方法究竟是什么?

    最快速的编程学习方法究竟是什么?这是许多初学编程者的问题.1.不要放过任何一个看上去很简单的小编程问题--他们往往并不那么简单,或者可以引伸出很多知识点: 2.如果不是天才的话,想学编程就不要想玩游戏 ...

  4. 最可贵的努力,是选择一个正确的方向

    转载自:http://mp.weixin.qq.com/s?__biz=MjM5ODAxODQ0MA==&mid=205946648&idx=5&sn=fdd2d35d3b17 ...

  5. 为什么企业选择年底裁员?如何选择一个正确的公司!

    为什么很多企业选择年底裁员? 首先分析一下裁员的原因: 1.你能力不行,在公司吃闲饭 2.减少公司成本 3.公司换血,需要新的人才注入 普通情况下,这些因素裁员很正常,只能怪自己不争气,成为末尾被淘汰 ...

  6. 编程一个最简单游戏_一个关于AI编程的游戏

    点击上方"机器学习与统计学",选择"置顶"公众号 重磅干货,第一时间送达 周末推荐一个正在玩的游戏,挺好玩的. <异常>是一个关于AI编程的游戏,在 ...

  7. 零编程基础学python-如果是一个纯0编程基础的小白,如何学Python

    Python 可用的地方非常多.无论是从入门级选手(爬虫.前端.后端.自动化运维)到专业级数据挖掘.科学计算.图像处理.人工智能,Python 都可以胜任.或许是因为这种万能属性,周围好更多的小伙伴都 ...

  8. 用户自定义一个异常,编程创建并抛出某个异常类的实例。运行该程序并观察执行结果。

    用户自定义一个异常,编程创建并抛出某个异常类的实例.运行该程序并观察执行结果. 例:用户密码的合法化验证. 要求密码有4-6个数字组成.若长度不落在这个范围或不是有数字组成.抛出自己的异常. 要求: ...

  9. 疫情之下,将业务迁移至云端会是一个正确的选择吗?

    突如其来的疫情给所有人的 2020 年都打了一个措手不及,尤其是针对那些业务重点放在线下,且现金流不是特别充裕的企业.这个假期,我们已经听到了太多由于企业现金流紧张而导致倒闭.裁员.降薪等等事件,尤其 ...

最新文章

  1. 脚本路径问题_dirname
  2. 安装Linux双系统取消快速启动,为什么在双启动时禁用Windows 8上的快速启动?
  3. Java对象容器——集合Set
  4. Spring MVC 启动
  5. 《TCP/IP详解》笔记----第二章 链路层
  6. 时间轴ui设计_我应该在UI设计上花更多时间吗?
  7. python对英语的要求_学python需要英语基础吗
  8. 表格数字乘以百分比怎么算_Excel输入多位数字之后有了“E”,用文本格式一步到位,恢复原状...
  9. 书柜的尺寸(bzoj 1933)
  10. ENVI分类格式转TIF
  11. Lua - 从指定时区提供的时间戳、时区的 UTC 时差,转换为对应当前本地 UTC 时差后的时间
  12. 艾司博讯:拼多多怎么设置团长ID?团长权限?
  13. 面试知识储备:新浪微博Android客户端的实现
  14. python中ttk和tkinter_Python Tkinter ttk组件及用法(附带实例)
  15. 【SQL面试】窗口函数如何实现【累加】?
  16. MySql中设置utf8编码方法
  17. js绘制菱形(空心和实心)
  18. C语言中打印图形问题
  19. shouldoverrideurlloading为什么有时候不走_心理学:为什么很多看似不般配的人,往往都能走到最后?...
  20. c语言找出链表中倒数第k的数,查找链表中倒数第k个结点

热门文章

  1. MyHDL中文手册(十)——转换成Verilog和VHDL
  2. solidity 入门
  3. 如何下载打印计算机二级准考证(江西)
  4. anchor_free and anchor_based的简单理解
  5. 机器学习——神经网络实验(附全过程代码)
  6. [渝粤教育] 中国地质大学 大学物理(上) 复习题
  7. python 通达信板块_python 适用通达信
  8. 中国电信北京研究院 孙琼:中国电信的SDN应用与实践初探
  9. insmod depmod modprobe的区别及用法
  10. 如何通adb命令删除安卓设备上指定的文件和apk