学习编程是件苦逼的事情,很多初始者跟我交流,提到了自己的问题,大多数人是知道自己的现状的,都把责任归咎为自己理所当然的原因,或根本就不知所措:
1、我该如何学好编程?
2、我要学到什么程度可以去上班?
3、你的课程我掌握了百分之七十、八十了,是什么水平?
4、我上班很忙,总是没时间学习怎么办?
5、每个视频我都看了三遍,怎么还是记不住?
6、代码我也跟着敲了,还是自己写不出来,怎么办?
……
大家的苦恼我是理解的,换一个角度来想,我又何尝不是从一开始的迷茫中一步一步走过来的呢,这种感觉我再清楚不过了,所以,自己从开发转到教育行业,我就是享受这个成就他人的成功从而满足自己的过程。
从自己的心得体会来看,总结以下几点,希望可以小小的帮助到正在迷茫中的你,有不同见解的童鞋欢迎留言吐槽哈。
一、认识自己
“老师,我想学编程不知道合不合适?”通常被问到这样的问题时,我的内心是崩溃的,亲,我完全不了解你,请恕我不能直接回答这个问题,接下来为了给你一个比较准确的回答,我会问到你一系列的问题,比如年龄、专业、学历、编程相关的基础情况等等,很多转行的童鞋真的不知道自己适不适合学,学什么,要怎么做,一点都不知道。这里我有一个小小技巧,也许可以帮助你快速自我判断是否合适转业学编程:首先,问问自己初中以上,高中,大学都可以,数学学得怎么样,如果自己觉得还可以,恭喜你,你通过了第一关,数学的解题思路跟编程是类似的;接下来就是你自己的学习能力了,如何去判断自己的学习能力是否符合呢,同样有一个小小的技巧,下面是一个测试题目,你可以试试:
一个失明人士被人偷去皮包,警方捉了四个可疑人物后,受害者立即便认出贼人是谁了。那么,你知道是谁吗?
A:会计文员:“不是我干的!”
B:家庭主妇:“我有很多钱的,为什么要去偷呀?”
C:教师:“我为人师表,怎会偷别人的东西?”
D:售货员:“我刚与朋友在餐厅吃炸洋葱圈嘛!”
你的答案是什么呢?请根据自己的主观判断来选择哈,选完后,再看下面的答案。
选A的人
你头脑相对于别人可能有一些迟钝,反应也没别人敏捷,所以在任何方面都不可以偷懒哦测试看你的学习能力如何测试看你的学习能力如何。一个人的成功也不是一定完全取决于智慧能力的,勤能补拙嘛。勤奋一些,你会找到属于你自己的方向的。
选B的人
你是个领悟力比较差、比较慢的人,所以同时的起步,你学习的成效不见得和别人同步测试看你的学习能力如何。不要因为自己落后于别人,就灰心丧气。只要慢慢的做好基础,你也能和大家一样上手。这等同于一个人对一件陌生的机器一样,慢慢的摸索,就熟练了。
选C的人
你是个对事情很有耐心的人,有种锲而不舍的精神。或许在很多方面自己还有很多不足,或者有很多人比自己出色,不过努力坚持却让自己更成功,甚至会超越别人测试看你的学习能力如何投资创业。所以要本着这种精神继续哦。
选D的人
你是个头脑聪明、反应力强的人,对于各种学习,你下点功夫就有效果了。不过你要切记骄傲,还有既然有那么好的先天就更加要好好利用发挥所长,这样你在各方面才会更胜一凑的哦。
如何你选择的答案是 C或者 D,恭喜你已经具备了学习编程的第一个条件,也是最重要的条件。
二、态度坚决
满足了第一个条件后,接下来的就是需要给自己一个学习编程的决心了,如果你想偷懒,没门!有一句话是这样说的:不怕你不努力,就怕比你优秀的人比你更努力。学习编程其实是非常花时间的,对于初学者想要快速入门,你只有一个办法,那就是牺牲掉一切可以牺牲的时间,比如和另一半压马路、看电影、吃饭逛街,夏天到了,甚至是逛小树林的时间(你懂的)等等都要牺牲掉。有那么严重么?真的有,你知道来千锋学习的童鞋,白天上课,晚上做练习作业,每天10个小时以上的学习时间,要坚持4,5个月时间,这是最快的速度了,你可以想想,想自学的你,如何安排时间才是最适合的,我想你现在应该有数了。听到这,一些人就要打退堂鼓了,理由看起来很充分,我没有那么多时间啊。是的,这是一个最好的拒绝学习的理由。
一个坚决的态度是多么的难啊,即使你下定了决心说:我要坚持,我要坚持,我要坚持!(重要事情说三遍),你也未必可以真的坚持,因为在学习编程的日子里,接下来的坚持跟你所学到的知识关系很大,必须是学明白了,在遇到问题的时候可以通过网络查找,求助他人等方式解决,这样你学得才有意思,从而坚持下去才有可能,这种坚持是发自内心的,是快乐的。否则,你想坚持都难,学不明白还坚持个毛啊,那是很痛苦的坚持,迟早你会放弃的。
三、学习方法
学习方法对于学编程来说太重要不过了,好的学习方法可以事半功倍,让你少去很多烦恼,我把一个好的学习方法分为三个步骤:听、练、讲。听明白就是最基本的条件了,一般讲编程的程课都是从最最基本的操作开始,那么计算机基础的相关知识是要求你提前具备的。听明白什么意思,是第一步,建议最多不要听超过三遍,三遍以上还听不懂,那说明你的前置知识还不够,需要补充,比如:在看一本书关于在线教育的书时,第一次在书中看到 K12这个表述,啥是 K12?书中没有解释,如果不理解,后面的一段内容感觉模模糊糊的,咋办,补呗,百度一下 K12,哦,原来是kindergarten through twelfth grade的简写,是指从幼儿园到十二年级,也可用作对基础教育阶段的通称。只要你有比较强的探知欲,问题就会迎刃而解。
接下来就是练了,跟据老师的讲解步骤,一步一步的实际操作,这个过程通常就是你遇到各种各样问题的过程,解决其中的问题不仅需要耐心、观察力,还要细心和变换思路的能力,举个栗子:老师我照着你视频的代码一模一样写的,为什么出不来结果啊?出不来就是不可能一模一样,如果我们使用的是eclipse这样的开发环境,那么报错信息可以给我们提供很好的问题描述,“我看不懂啊”,世界上好像有个神奇的东西叫有道,多去寻找解决问题的方法,而不是一脸无辜样,谁能帮我?每个人在学习编程的过程中,一个非常重要的事情就是在学习如何解决问题的过程,解决的问题多了,经验也就多了,学不会自己解决问题,或自我解决问题的能力弱,你的编程能力是很难提高的。有了第一步和第二步,大多数人认为自己已经掌握,其实,把自己理解的知识可以很清楚的表达出来,逻辑清晰,才是真正的完全掌握,你要记住一个真正掌握的标准是以清晰的表达为标准。
三、善于总结
学会总结,经常总结,太重要了!由其对于我们学习一门新知识来说,杂碎的东西太多,还不太熟的情况下,要想完全记住,除非你有惊人的记忆能力,我承认我没有,所以我善用做笔记,写总结。在自己明白后一定要把自己的理解梳理一下,记下来,这里要注意,不是把别人的话复制下来就算了,那不是你的,你会很快忘记,放心,不需要你有多高的文采能力,只要语句通顺就可以,最后你能记住的,一定是你总结出来的精髓部分,至于细节,我们可以通过API 文档或笔记来查阅,忘记了也没关系。最后记在你脑子里的,一定是概念上的,原理性的,思想性的,解决方案的思路,整体结构上的。总结,能让你学得更快。
在这个浮躁、竞争激烈的社会里,我们一天不学习,就可能落后,让学习成为习惯,让我们一起做终身学习者!