回答这个问题之前,先要问自己一句:你是什么人?
因材施教,这个词不陌生,这是教学中最重要的教学方法和教学原则。
可是,我想几乎所有人,都认为这个词,是老师对学生的,却很少有人明白,自己自学,也要符合“因材施教”的原则。
一个人时间多,一个人时间少;
一个人有基础,一个人零基础;
一个人学完现在就要用,一个人以后可能用到,也可能用不到;
一个人是学来玩玩的,另一个人是打算学完找工作的;
不同的认知水平、学习能力、自身素质,就得选择不同的学习方法。
那么,怎么定位自己,认清自己是什么人呢?
你只需要知道,你属于哪一个群体?你是不是这个群体的特例?弄明白这两个问题,接下来就可以找到最适合自己的学习方法,做到“因材施教”。
比如:
你是一名美术学院的学生,你属于这一群体,一般来说,美术生的审美不会太差。那么你是不是这一群体的特例?是不是审美比其他人差很多?
你是一名审计师,一般来说,工作都很忙,这是这一群体的特征。可是现在你辞职了,很清闲,你就属于特例。
学习编程的人群中,无非两种人:学生or职场人士
对于学生而言,最适合的学习方式,是系统的学习。他们时间多,又不着急于“创造价值”,而且还习惯了系统学习的方式。这是学生这一群体的特征,当然也有一些刺头,不适合系统的学习。
什么样的学生?
那些习惯将大量时间用于玩游戏,或者能在短时间获得反馈的事情上,这样的学生,最好别使用系统的学习方式。太累,容易忘,还容易放弃。
系统的学习编程知识,是一件很乏味的事情。大脑付出了劳动,却在短时间内,得不到反馈。
举个例子,自己开了个户,把100万扔到股市去,自己恨不得每秒都知道股票的涨跌。这是因为我们的大脑,十分需要反馈。如果10年不去管它,是不是很难?
花大量玩游戏,或者做一些短时间能获得反馈的学生,不适合系统的学习编程,因为你们的大脑,已经习惯了“付出立马就要有回报”的方式。
再说说职场人士
与学生恰恰相反,已经参加工作的这一群人中,往往是“需求”驱动学习,边做边学,就成了标配。
当然,职场人士这一群体中,也有一些刺头。
比如:我现在还用不到,不着急用;或者已经辞职了;那么系统的学习,可能适合你。
选择合适的学习方式固然重要,但这个不是重点
科班出身的程序员,他们在大学里,就系统的学习了编程知识,可他们也会为了解决工作中遇到的问题,学一些东西,即边做边学。
半路出家的人,他们可能为了满足自己的项目的小需求,而学习了一些编程知识,可到了真到找工作的地步,他们又会去系统的学习,以满足招聘要求。
系统学习和边做边学,是“你中有我,我中有你”的关系。
重点是,当你使用其中一种方式学习后,你得明白,怎么去弥补不足。
系统学习
系统的学习,是重理论,而轻实践。没什么可说的,弥补短板,就是实践。20%的时间系统的学习知识,再花80%的时间去实践,很容易达成自己的学习目标。
边做边学
出来混,迟早是要还的,既然当时选择了“速成”,当感觉自己的知识储备不组时,还是应该回到系统的学习来。相比之下,习惯了边做边学的人,更难以适应系统的学习知识这一方式。
大脑付出了劳动,得到了结果,大脑就会兴奋,从而你就会有了,继续获得这种“兴奋”的冲动,进而继续保持“付出”,良性循环开始,最终你学会了全部的知识。
系统学习编程,很容易导致反馈缺失,即“学了大半天,不知道能做什么”的感觉,久而久之,学习的兴趣便丧失了。
试想一下,为什么你不想继续系统的学习编程了?
太难了,学不会。(难道学了大半天,一个简单的知识点都没有?)学了就忘,忘了又要重新学。(为什么早中午的吃饭时间,你不会忘?)系统的学习,时间太少了。(真是这样吗?)以上三种情况,是系统的学习编程时,最容易碰到的问题,下面W3Cschool给出一些行之有效的建议。
为什么你觉得编程太难了?
想一想,你是怎么放弃学编程的,经常是不是:“哇,太难了,根本学不会,还是算了,不学了”。也就是说,大脑只记住了那个最难的、让你放弃的知识点,所以你会觉得,从头到尾都很难。
这是一个大问题,也就是说每一次学编程,都在打击自己,而不是让自己开心,自然也就没了学习的兴趣。
一个简单的办法,每次学习结束时,丢掉难题,重新学习一下那个最简单的知识点,以愉悦的心情结束学习。下一次学习,重新复习一下那个最难的知识点,再以最简单的知识点结束。
为什么学了马上就会忘掉?
这一点对于想要系统学习编程的职场人士来说,尤为明显。人类的大脑,是很智能的,它会自动过滤掉一些自己认为不重要的东西。如果一个人的工作,跟你所学的东西毫不沾边,就很容易遗忘。因为大脑会认为,这些东西不重要。
怎么解决遗忘?做到睡也想,醒也想,让自己的大脑,重视起“学编程”这件事儿。
至于时间太少,没办法系统的学。
如果时间太少,还是建议边做边学,系统的学确实需要时间的。
但话又说回来,你的时间利用率真的高吗?你是在利用碎片化的时间学习,还是将时间,碎片化了?