在新生大学报了Xide的编程元学习课,总计上了三节课,彻底给自己的大脑洗了个桑拿,把里面的垃圾全部洗掉了,让自己对于编程目的和学习方法有了基础,清晰,正确的概念和方法论。
编程的目的是为了解决问题,而不是别的其它的东西。你有一项工作,每天都重复类似的流程,日复一日,年复一年,为了把自己从这个枯燥的工作流程中解放出来,你可以写一个程序,让程序替你执行这些步骤。
最早在看笑来的把时间当作朋友时就想去学编程,去code academy 注册学习了html和css,大约上了一个月的课,后来就没有了,也许是没有反馈,没有指导,也许是懒,觉得太难,从努力到放弃,速度太快。这也正应了Xdite 的讲法,没有正确的方法的话,学习编程的曲线就是从快速的开始到快速的放弃。
正确的学习方法是什么呢?学习学习再学习,这好像是李笑来的方法论,也是对的,学习了学习编程的正确方法再来学习编程。概括起来就是要学习编程上瘾,让自己沉浸在编程的学习中干脆停不下来。如何才可以上瘾呢,把自己学会的东西教给别人就给你带来极大的成就感;拿学会的技能实现对社会和周围朋友有价值的东西,获得赞赏和成就感。这种成就感会激励你上瘾,就像我们玩游戏一样,课上Xdite还特别举了一个例子,一个有游戏上瘾的人现身说法,他为什么会玩游戏上瘾,因为在现实世界中无法实现自我价值,社会和学校对于自己的自我价值实现漠不关心,自己才会沉浸在可以实现自我价值的游戏中。如果我们可以借由实现自我价值的方法去学习编程,通过编程可以带给我们社会的认可,朋友的赞赏,从而激励自己更多的去做可以获得赞赏和实现自我价值的程序的话,我们就成功的把编程的练习烧到了自己的大脑里,形成了一个正向的习惯回路。
另外一个颠覆我的认识的观点是,任何人都可以在400个小时的时间里,经由练习高手设计的高频小套路学习编程到高级新手的阶段,也就是可以到BAT公司谋一份程序工程师的工作了。在我之前的认知概念里,学习编程需要很多的基础知识,高等数学,统计概率,微积分,计算机语言的原理,掌握一门编程语言没有个3-5年那是不可能的,现在我自己都有信心和兴趣去学一门编程语言,去解决自己工作生活中遇到的问题。
当然她这样讲的理论基础在这里,学习编程是有套路的,这要从我们的大脑的运作模式说起,我们的大脑是不擅长思考的;我们的思考其实并不是思考,大部分是调用之前的记忆来的多;我们同常是用已知的知识理解理解未知的知识,我们这里谈到的理解其实就是记忆,这也就是为什么没有大量的练习,我们很难获得新的知识;这也从另外一个侧面说明,我们的题海战术和填鸭式教育也是十分必要的,实际上理解就是记忆的相互关联。古时候我们说一个有学问有个讲法叫做学富五车,还有一个叫做博古通今,其实讲的都是记忆力的重要性;高晓松老师的晓说也可以证明高老师是一个记忆很强高人,节目中看他信手拈来拈来的历史知识和事件的感觉,真的是让人叹为观止。在Xdite的第三课中提到了德雷福斯模型的五个阶段,其中的第五个阶段是专家,专家就是可以领导和开创这个领域的知识和进展的方向和进程的人,查了维基百科,他们就是靠自己的直觉解决问题和探索未来的人,他们的直觉建立在过去学习的知识,解决的问题,思考的质量的共同的作用,这也意味着记忆力对他们来说是一个强有力的武器。
而且大脑的左右脑的分工是不同的,左脑负责逻辑分析,右脑负责感知,我们编程的高频小套路的运用就是利用了右脑的感知能力,直接上手学习,不纠缠于细节,直接找高手请教小套路,作出小的程序和项目,快速的把东西拼出来,接着拼出更大的东西,公开之后获得称赞,让我们有信心和乐趣去研究更大的项目更复杂的程序,解决更大的问题。学习的类型不是登山而是拼图,我们先把轮廓图拼出来,不需要了解每个步骤的原理,只需要去做就好。作出小的项目,然后赋予编程更大的意义和价值,让这个意义和价值激励你可以继续前进。
再进一步可以做更大的项目,把做的程序用笔记本记下来,错误的地方全部背下来,每个这样的项目都做三遍,把每次的流程都记下来,尤其是错误的地方,发表在自己的博客或者微信上,让更多的朋友可以看到你的成果,激励你快速的学习这个新的技能,把这个技能烧到自己的大脑里,形成肌肉记忆。这里就要用到学习编程的三个秘籍,不要脸,不要完美,不要全部理解。我想这样的方法对于进取性人格的人肯定是有效的,因为进取性的人是关心自己的进步的,自己的面子是不在概念里的;而表现型人格的朋友更适合自己把自己技能磨练的好一点再发出去,让大家了解自己的能力,或者就让自己转变成进取性人格好了。借由学习编程让自己的人格也做一个积极的转变。
行为=动机+行动能力+触发点,这个公式进一步阐释了,为什么我们要用右脑的模式去学习编程,这是一个很低难度的触发点,对行动能力的要求并不高,只要照猫画虎就可以做到,不需要去学习烧脑的数学知识,也不需要了解编程语言的来龙去脉,只需要按照专家给的高频小套路去做就好。动机的部分就需要自己给自己学习编程赋予更大的意义和价值,每个人对于更大的意义和价值的定义不同,对于我而言,更大的意义在于我可以了解一个行业的思维和工作方法,让我有机会可以成为一个程序员,成为一个我自己羡慕的人;而它可以带来的价值也是不可估量的,现在的世界是一个依靠软件运转的世界,无论是我们的手机,电脑,网络,电商,游戏,金融,航天,小到微信,达到谷歌搜索引擎,全部的全部都是软件的世界。当然软件工程师目前是地球上最缺乏的资源,收入也是和房价一样的曲线,如果可以成为一个挣到更多收入的人,不是更好,说不定还可以顺便改变世界。
其实编程只是解决问题的一个方法论,透过对编程的学习,我们可以让自己生活的更幸福。关键是可以打破自己的思维定势,其实就像Xdite 讲到的,这个方法几乎可以学会一切的知识和技能,类似与画画,音乐,都可以用这个高频小套路的练习方法学会,而这两项技能都是我本人目前正在和正准备学习的,我可以拿编程来练习实践,成功掌握之后就可以运用到另外两个领域了。
在三节课上不但是学到了高频小套路的编程学习方法,而且学到了很多牛人的书籍和理论,像是一周工作四小时,为什么孩子不喜欢上学,德雷福斯模型自己也是第一次听到---新手,高级新手,胜任者,精通者,专家;而这五种人中最多的竟然是高级新手,让自己对自己的编程的目标有了清楚的认识。顺便也看到了千古刘传的微信公众号,了解到一个90后的创业者的学习方法论,读书的方法论,自己看了受益匪浅。
这三节课上完之后就布置了作业,但是自己一直到今天才写下自己的课后作业,也是在微信群中看到有朋友已经实践这个方法论,做出了自己的音乐人的网站,自己只是听了课而已,本来想着可以直接写上课的课后感,但是真正写了之后才发现自己很多的东西并不是特别的清楚,甚至大部分的内容都忘记了。今天下午把听课笔记重新写了一遍,整理了三节课的内容,才可以在老师讲课的内容基础上写这篇文章,很多的课程上完了和没有上区别不大,就是因为没有按照老师教的方法去练习,去践行,执拗的做作业。就像这三节课一样,写完了这篇文章,我会把自己买到的Python教程上的程序打一遍,做出自己的小程序,晒到朋友圈里,让大家知道我自己的小成就,进而自己可以钻研更大的程序和项目。老师布置的swift playgrouds 游戏还没有玩到第三关,自己为此还买了一个新的ipad air ,看到后面的程序可以直接在iPhone和iPad上写app,自己也会把这个项目完成,让自己可以做到真正的体验一个程序工程师的生活和工作。
这是自己的第一个课后笔记的版本,以后再听几次这个课程,自己会更新自己的课程笔记,做为自己成长的记录和证明。
网友评论