我觉得挺奇怪的,同样是学习,学英语有那么多的有效学习方法,而学编程呢?几乎很难找到一个系统并且适用于初学者的学习方法。
网络上倒是有很多民间学习心得,但许多只是个人经验,不具备普遍适用性,反而容易误导初学者。
知道什么是错的之后,就更容易明白什么是对的。我从知乎上的民间秘方里面,总结了3个学编程的误区:
误区1:啃完几本书,就能系统的学会编程了
是什么让你相信买一本书就能学会编程?是幻觉。
编程方面的书一般挺厚的,拿在手里,感觉知识沉甸甸的,翻开一看,感觉讲的很系统很详细。你会觉得自己已经下定决心要学好编程了。但你绝对不会读完超过五章的内容。
不是因为你太懒惰,而是因为刚开始学习就深入到细枝末节中并不是一个好的选择,练习是学习一门技能最重要的环节,而如果不上手练习,你会把书里教的知识忘得一干二净。
误区2:先学别的语言做铺垫,再学你想学的语言
总有人会告诉你,「打好基础很重要,你得先学 C 语言。」
或者是,「直接学编程语言太难了,你可以先学 Scratch 培养感觉。」
这简直是人为加长学习路径。
误区3:看着源码学编程,对着敲一遍
这种观点说,github 上不是有很多好的开源项目嘛,你照着敲一遍代码,然后就能领悟了。
这应该是受了应试教育时背课文的迫害吧……对于初学者,这样学习效率太低了,因为每一行你都看不懂,而且没有思考的模仿只是机械运动而已,除了提升打字速度应该不会有其他任何效果。
好了,说了这么多误区,那么对的是什么呢?如果你学习编程是为了做出点东西出来,而不是为了做科研去研究各种编程语言语法之间的细微差异,那么上手做项目是最快的学习路径。
但是,如果没有选择正确的学习方法,这其中的痛苦,足以让一个初学者没办法坚持下去。编程是即时反馈的,当你学其他技能,不会有人对着你大喊「你错了!」,但是程序会向你持续报错。而当你尝试了几小时,用了各种方法,程序却在说,「你还是错的!」,你会很沮丧甚至很愤怒。
那么,从写出第一句 hello world,到能上手做一个真实的项目,到底需要怎么学?
结合了学习的认知模型,我们总结了一套适用于初学者的编程学习方法,也是实战课程体系的核心思路:
1、循序渐进:把一个真实项目拆解成若干阶段,分阶段学习、练习,逐渐提升难度
2、杠杆知识:学习和项目最相关的核心知识,借用能提升开发效率的工具框架,让最少的投入获得最大的杠杆产出
3、建立连接:人脑是通过突触相连接的,学习的过程就是在强化已有的连接,建立新的连接。而根据已经掌握的知识点拓展、用生活中的例子去类比,能让你更快的学会。
4、持续反馈:通过老师或者是搜索,掌握独立解决排错的方法,最终掌握自学的方法。
当然,这些只是很简要的概述,想要真正应用这套方法去制定自己的学习计划,需要一个系列连载来详细介绍具体的执行方法才行。掌握这套学习方法之后,你可以根据自己的情况去选择适合自己目标的学习材料,从而少走弯路。
然后,今天的重点来了,你是否需要这样一个系列连载,来学习编程学习方法呢?需要的话在下面留言吧,或者直接关注微信公众号xinsz08 这样会学的快一些。另外想找几个打算做自媒体而且有时间的朋友加盟哦
我是辛舒展,一个愿意在大数据领域帮助你成长的朋友。
