作为自学编程的过来人,我深知学习方法永远都不是重点,学习方法,学习路线基本千篇一律,大同小异,每个人或多或少都能总结几条,但是自学者的心里建设谁去指导,如果一个人没有实践过的真实自学编程经历,自学的感受和经验是总结不出来的,比如大学计算机专业的学生,肯定不会有我我这样的感受,因为学习环境不一样。私以为,感受和经验才是自学者关注的重点。感受能让自学者心态变得沉稳懂得坚持,经验能让自学者少走弯路,高效学习。
自学者没有基础其实也是一件好事,至少能激发一个人的探索未知领域的学习兴趣。我也是没有基础,毕业后从事经贸。自学之初强烈的兴趣驱使着我学习,看到一行行代码被执行出结果,成就感瞬间爆棚,所以零基础根本不是问题。那么零基础如何去学习呢?我当年自学的是python,那就说一些自学的经验总结吧:
- 自学要以视频和网络资料为主,书籍(入门系列)为辅。简单易学宜上手的知识点多看网上整理的知识点,常用的网站有w3cschool,菜鸟教程,以及牛人博客系列。技术点多,思想多,理解难,知识体系多的框架多以视频为主,这类网上很多,有收费的也有不收费的,具体怎么找资料,相信你应该懂,还是不懂的可以私信我,我给你发资源;
- 多做笔记,多做笔记,多做笔记。重要的话说三遍,非常重要。由于编程知识体系复杂,知识点多,技术要点多,作为初学者,学习快忘的也快,自认为不难理解很容易的知识点,学过之后很快就会遗忘,这时笔记就显得非常重要了,可以及时翻看笔记,快速定位到重点。比起重新观看视频或其他知识,看笔记就是高效。另外,做笔记要抓住重点,尽量用总结性文字,一针见血,避免啰嗦,遗漏重点。具体形式可以是文字总结也可以是图片截图,或者二者结合,图文并茂。还有就是时常要勤翻笔记,避免遗忘,做到温故知新。
- 整个学习过程要形成体系学习计划,学习课程安排,学习周期安排。尽量要求自己按照学习计划完成学习,不拖拉。完不成的要抓紧时间赶上,给自己适当的学习压力,制定任务目标,不达成不罢休。
- 学习过程中遇到难易不一的知识点,遇到容易的可以加快进度,遇到难的可以放慢脚步,不懂就多看几遍,如果还是理解不了就赶紧跳过去,切莫耗时过长,影响后续计划,但一定要做好相关笔记,疑问点,难点,自己的理解等等。学习过程是一个潜移默化的话,并不要求对每学一个知识点都要搞懂吃透,有些知识点暂时不懂不代表以后不懂,随着后续知识点的学习,学习知识就豁然开朗,前后知识点能够串联起来,这就是所谓的潜移默化的过程。
- 每学一个知识点,一个体系要做专项知识训练,训练的目的一是对知识点回顾总结,二就是对学过知识点实践运用。实践才会出真知。
- 自己尽可能将学习过程中遇到的讲解示例亲自动手敲一遍,不要学一行代码,敲一行代码。学过的示例要通过回忆敲出来,这样才会有效果。多练多敲每天才会有一定的代码量累计,这样才能培养出自己敲代码的感觉和思考,我自己称作为"敲感"。另外,多敲代码才能发现问题,比如少一个标点符号,少一个字母等。敲代码最高的境界就是,看到需求,闭上眼睛就能敲出优秀的代码。
- 多看优秀代码,多研究优秀代码,多了解优秀代码的思想。条条道路通罗马,程序也是如此,但终究会有最合适的一条,也会有最优方案的代码,所以说编码思路很重要,想好怎么写,直接一气呵成。编程界有这个说法,70%的时间都在想怎么写,20%的时间在写代码,10%的时间就是优化代码,由此看来编码思路的重要性。
- 毅力+坚持。学习是个持续的过程,学习不是一蹴而就的,需要坚持和毅力。把心态放平,不骄不躁,一步一个脚印。每当你想要放弃时,你要想想,当初是什么让你坚持到现在。
- 为了可以给大家提出更多的学习建议,这是我建立的Python资源qun:前1156,中间的是465,后面三个数是813。在彼此的沟通可以我们可以得到很多学习经验,学习始终靠自己,当你掌握了一个好的学习方法,系统的学习方式,你会发现其实学习编程并没有那么难,有问题在qun里随时问我,qun内含有不少的资学xi资料,不忙的时候帮助大家解答问题。