版权声明:本文转载于公众号TeachPlus
你合上一本书,可能是《x语言开发圣经》,也可能是《x语言编程从入门到放弃》,don`t mind,it doesn`t matter,只要在这个时候能够有室友崇拜的目光就好了。你点燃手边的红双喜,揉了一下乌黑的眼圈,而心里却已经开始了咆哮:WTF!这特么写的都是什么的玩意儿!!!
承认吧,你根本就不懂怎么学习编程
看到这句话,你可能会嗤之以鼻,老子正经大学计算机专业高材生,苦修编程大法多年,寒窗苦读20余载,冬练三九夏练三伏,怎么会不懂怎么学习编程?你一定在逗我!来,告诉我,什么是分布式云存储,需要用什么语言来编写?观众:“我知道,用java写!”,好的,那么用c++能不能写?用c呢?用python呢?动手写一个吧!呃……挠头~~don`t mind,it doesn`t matter,接下来的时间,就让我们聊一下,如何学习编程。哦~对了!文末有福利~
先说个小故事吧......
kane对程序员这个行业极度向往,认为这是一群非常牛13的人,一台电脑,分分钟拯救世界,最次也能写出个软件火遍大江南北,出任CEO,迎娶白富美,所以他下定决心一定要做一个程序员。
于是怀揣着梦想,他开始在网上搜集资料,各种电子书、视频下了几百G,各种论坛各种群也加了一大堆,半年之后却发现不用说入门,连门在哪儿都没有找到……
像这样的故事每天都在发生,少年们受着以梦为马的鼓励出了门,却发现不知道往哪儿走,最后也只能原地打转。
往哪儿走,怎么走,走!做事情之前先明白这是件什么事情不才是第一个要想的么?
所以要开始学习编程,第一步的就是先确定方向,我们可以把整个编程开发大体分为Web前端、移动端、后端开发,此外还有嵌入式、机器学习等等....先明白你要学习的是那个方向,然后了解这个方向需要哪些技能,然后制定好计划,开始干吧!
至于这些信息如何获取,你可以通过搜索获取,毕竟搜索引擎是免费的,当然,更好的方法是关注我们的公众号,我们会在后续写一系列专题文章来介绍每个方向的异同。
2、定一个小目标——明确目标
明确了自己要学习的方向,那么接下来请问一下自己,你要学到什么程度,自己玩玩还是就业?当然了,如果你真要去拯救世界,666666……祝你成功!
先给自己定一个能够达到的小目标,比如你要学习网站开发,那么先给自己开发一个博客网站,不要急于求成,步子迈得太大,容易……你懂的。
很多计算机系毕业的本科大学生,你让他们去做一个简单的H5页面,他们都是做不出来的。为什么?因为大学学习过程中以应试为主,理论可能很丰富,但是动手能力却欠缺,就像知道了那么多道理,却依然过不好这一生,所以能动手,别bb。
3、快进模式——快速浏览
“我要学习前端开发,大神,我该怎么做?”kane终于找到了自己的目标,于是找到大神,大神正在敲着键盘,抬头瞟了他一眼,kane赶紧做出虚心请教的样子。
“哦!先去把《HTML权威指南》、《css权威指南》、《javascript高级程序设计》看完去。”,大神没有停下敲键盘,淡淡抛出一句话,kane如获至宝,赶紧拿小本子记下,心里想着:“大神就是大神,三本书就能搞定前端开发,一定要把这三本书好好学习一下,早日达到大神的高度”,他恭敬的从大神的房间退了出来直奔书店。
好不容易找齐了三本书,kane的心已经纠在一起了,他用微微颤抖的手将三本书翻到最后一页,看了一眼页码,《HTML权威指南》--720页、《css权威指南》--508页、《javascript高级程序设计》--748页,这时候开始的雄心壮志已经被这三本“字典”打击的有点颤了,但是kane依然是咬牙付了款,并且暗暗为自己打气:“别人能行,你也一定能行的,加油加油我最强,加油加油我最棒!!!”
五天之后,每天坚持阅读的kane偷了一天懒,八天之后,kane把阅读频率改成了两天,十天之后,kane将三本书放在了书架,并且再也没有打开过……
学习是一件很容易放弃的事情,所以在开始阶段,你需要的是能够快速的得到反馈,就像为什么人们喜欢玩游戏,因为游戏能够实时反馈你的成果。
走进图书馆的计算机相关书架,你会发现很多计算机相关的书籍都厚得吓人,其中相当大的篇幅,是前言、理论和案例,让初学者手足无措,无从入手。对于一个什么都不懂的初学者来说,一上来就一堆理论,只会让人一脸懵逼。
所以,找一本薄薄的书,越薄越好,在五天之内看完,不需要了解所有的知识点,只要能够了解基本语法、形成印象就可以了,然后开始做项目,项目中遇到问题时,再去查找补充,相信我,很快你也能达到大神的水平。
4、项目制——生长学习法
放弃了读书的kane同样也放弃了大神,大神的境界太高,像自己这种小菜鸟还是先找点简单的事情来做的好,于是他把目光放在论坛,直到他看到了这个:
我们可以把知识层级理解为看过->做过->讲过
无论如何看、如何听,掌握程度不会超过30%,而只有你真正实践过,做过,才有可能会达到75%。看过听过没有什么卵用,只有做过才能真正把知识留下来,所以你的学习绝不是HTML:100% -> CSS:100%
-> JavaScript:100%.....而应该是Level1项目(HTML 10%+CSS10%) -> Level2项目( HTML 20%+ CSS20%+JavaScript 10%)......
快速浏览之后就是找小项目,不断地做项目,当然也可以比较极端,接一个商业项目,做不出来就倾家荡产的那种,哈哈……
项目制确保了你的阶段性目标,可执行、可达到。以Web前端为例,你是用100%的精力学HTML,然后再用全部精力学CSS,学JS,学jQuery,然后做项目好呢?还是说先学一些初级知识,直接做项目好呢?显然是做项目出来更有成就感啦,每天学哪些用不上的知识,大脑会产生本能的排斥,这注定是一个异常反人性的过程。
做项目的过程中,遇到不会的怎么办?这就对了,要的就是趁着这个机会来进行学习,当你把能犯的错误都犯了一遍,你就神功大成了,至于怎么解决这些问题,记住一句话,搜索引擎是免费的。
一起聆听一下大神的教诲
乔布斯:“我觉得每一个人都应该花一年的时间学习编程”
如果我的文章有幸能得到你的一点认可,请关注我一下,你的支持是我创作的动力之一。