给大家推荐一种学习编程有效的方法,通过此方法有很多之前没有接触过代码的学员也掌握了编程这项技能
学习编程失败的原因
这套学习方法虽然有效,不论背景都能学会,但是成功机率却不是百分之百。于是我也花了很多时间去分析学生的样板,总结出出如下问题:
- 为什么有人学得会编程,为什么有人死都栽在同一个坑里面
- 学会一套编程语言并且独立开发程序,需要多久的时间
- 一般人自学编程为什么低效
我发现,学习低效甚至失败者,无非栽在对于入门编程的四条错误认知上,他们是这样认为的:
- 学习编程必须要有天赋,我的资质平平
- 必须在学习编程中“理解”每一个步骤
- 学习必须要扎实,要从技术基础原理学起
- 学习时复制代码是可耻的
这样的认知造成了「学习初速度低下」。
一旦学习者不能快速地进入「小确幸」状态,找不到成就感,很快的就放弃了。
其实这四条固有认知,都是没必要的伪概念。
「初学」方法绝对与「进阶」方法不同
这些是「进阶」阶段「学习编程」应该要有的认知,而不是「初学编程」时的认知。
- 必须在学习编程中「理解」每一个步骤
- 学习必须要扎实,要从技术基础原理学起
- 学习当中禁止使用捷径,如模仿以及复制代码
而是在「熟悉基本框架」后的「复习」方法。
该如何「初学」编程?
Step 1: 建立自信
进入陌生的领域,第一件事就是要建立自信,相信你自己学得会,而且并不孤独。所以我们安排了作业
- 第一课:环境建置
- 第二课:初级练习
让各位第一时间,就感受到进入编程,写个小程序,你也能迅速上手!
Step 2: 在大脑内建立足够的基础框架
刚开始学习一门编程语言
- 这时候就算有人教你,拼命解释想让你理解
- 或者是你自己尝试上网 Google 找资料
但还是感到很「懵B」,这绝对是绝对正常的,因为大脑无法以「未知解释未知」。
而这往往却是一般人「从入门到放弃」当中的最大一个关键点。
正常人一般人来说遇到「很多知识不懂」的解决方法,是「花更多时间想办法解释弄懂未知的知识」,或者是「想办法去补自己都看不懂的基础知识」,看了另外一个解释这个知识点的文章时,又发现了更多不“懂”的知识,直到自己筋疲力尽放弃为止。
但是,其实最好的方式,是找到行业中「好的高频小套路」,背下来。即使很多不理解也没有关系。
只要了解「输入」什么,「输出」是什么就行了。
只有在大脑内储存了够多的已知信息,其他的信息才能够有效附着,进而用「已知解释已知」。
Step 3 :技能迁移
• 「大数据编程案例」,将会是一个「技能迁移」练习。
所谓的「迁移」,就是我们将会带领各位脱离「只会抄模板」的新手学步车,带领各位搭建出类似场景的第一个小程序。
这一个课程,将会慢动作重放,一个程序是如何被构思制作出来的。而且,你在日常生活中就能具备这个能力。
你自己就可以依样画葫芦模仿造出来。
Step 4:提取练习(代码)
在开学前,我有请各位做几件事,以这样的方式学习:
• 第一遍复制代码。 (观察输入与输出)
• 第二遍手敲代码。 (观察自己哪里错误)
• 第三遍以后,凭自己的记忆写出代码。 (提取练习)
其实,这完全是有科学根据的。这样做的原因是:
• 复制代码,就不容易有错误。同学可以观察到「输入」是什么,「输出」又是什么。
• 手敲代码。你就可以比较出「自己打了什么」,又「为什么这样错了」。 (但也不容易掉入坑里,因为你不需要去理解太多的知识)
• 凭自己记忆写出代码。目的是为了让常用功能直接进入人类的「长期记忆」。
但是,如果各位在这当中,还是蛮横地去查太多未知的东西,就会把自己带入恐慌的坑里。所以千万不要跳入这个坑里。
Step 5 : 提取练习(文章 / 错误修正)
在这三遍里,我们还要求各位写日记。日记是一套科学模板( ORID)。
如何使用ORID总结学习,加快进步?
这套科学的模板,是为了让各位近距离观察自己的情绪。写了几天之后,你就可以「客观」的观察到,自己的学习进度其实有很大的进展,而不是「懵懵懵懵懵懵懵懵懵懵」。
不会再被自己的「情绪」影响「进步」。
Step 6 : 提取练习(错误修正)
再来呢,「错的部分」是一定要记下来的。也要写到博客中。
虽然刚开始,你可能觉得「记错的」而「不记对的」是很傻的一件事。
但是,这其实是一套非常科学的「进步方法」,当你试着这样记了五六个错误以后。你会发现自己傻B的错误,不可能再错了,进步的效果会变得非常非常的明显。
Step 7: 提取练习( 教就是学)
在线下培训的过程中,各位很容易看到,进展得比较好的同学,开始在教比较落后的同学。 「教就是学」,这句话并不是古人唬弄我们的,而是也有科学根据的。
「教」其实就是一部分的「大脑提取练习」。当我们经由感官刺激接受到讯息后,其实大脑里面的记忆痕迹并不深。如果几天内不应用,其实资讯根本无法留得下来。
所谓「教」,就是在讲述过程中,透过创造「自己版本的新记忆」,将这道资讯在大脑上面再刻深三遍。
总结
所以虽然课前作业,貌似我要求各位做的作业,似乎都是非常反常理的。但大数据极限编程班,所有的学习步骤,都是走在认知科学的最前沿所设计的。若各位同学「放下学习的傲慢」,并「只字不差的执行练习」。你将会在这个学习过程中,感受到自己巨大的进步。