一个新手,当然需要做项目、实践练习来掌握知识,但是做什么呢?新人是不知道的。
有人会简单地用一句「这个熬不过去说明不适合做程序员」来回应这样的问题,但这种态度无助于解决实际问题。
针对这个问题,我给各位小伙伴们列举一些问题吧。
1. 学不下去
如果学习资料内容安排不合理、有问题找不到人问,就常常会发生一点小错误(比如中文符号、资料错误、敲错字符等等之类的问题)甚至说有时候纠结一天都无法解决的情况,这样热情就慢慢被消磨了。
有很多人学编程,但是中途放弃了,主要就是学习过程中一些难以自己解决的小坑导致的
实际上,根据我入坑Python几年来的经验,即便是你使用精心准备的学习材料,依然会有一些问题需要解决(比如漏看了资料、敲错了字符、对知识的理解不到位等等之类的一些问题),当然更好的资料意味着更少的问题,但肯定还是会有人出现这些问题的。假设说你是身处于一个学习氛围很好,又勤奋上进的学习圈子那么你也同样会变得优秀。
所以如果你有一个好的学习环境,比如有同学、助教、老师、朋友可以讨论、多问问题,那无疑扫平了很大的潜在障碍,效果会事半功倍,问题也不再是问题了,只会成为你学习Python脚步下的一个垫脚石了。
2. 学完了发现还是不会 / 全忘记了
也许你听过短期记忆和长期记忆的说法,我确实不是这块的专家,但其中一些解释应该还是能帮你更好理解学习和训练之间的联系的。
短期记忆的特征是,能迅速将一段少量信息短时间内储存在你的头脑中,过一段时间或者转移注意力以后就会很快遗忘掉。
长期记忆则相反,需要满足一定条件才能形成,但能储存更复杂的信息,并且不容易遗忘
而学习的目的,可以说是将特定的知识、技能、过程形成长期记忆。
学了就忘,应该是很多人体验过的事情,其实就可以被理解为尝试形成长期记忆但失败了
那么如何形成长期记忆呢?主要有两个要点:
创造更多的意义(和外界、自己旧有知识技能的连接)、更多的重复
更好的训练过程能做到这两点,一系列针对性的训练提供了多种运用新知识技能的场景,让你在反复操练中了解如何灵活运用知识技能
所以想要学好编程,最好能够有配合学习资料的针对性练习,并且在学习后第一时间反复练习,最终能够把学习的内容掌握得更牢固
想想高考,不刷题是不可能的,但是刷什么题、怎么刷,就是教学质量问题了,大家都会认可重点高中会有更好的教学质量。
3. 该学的都学会了,但依然只会敲几行代码,根本不知道怎么做出能用的程序
实际上这个问题即便在国内外大学科班中也是非常常见的。
通常的编程教程和教材,更多的是起到一个字典或者手册的功能,只能教会你基本语法这样就会导致学完后陷入一个迷茫、不知道自己该干啥、能干啥的状态,最终难以更进一步(这个在网上是一个很常见的问题,不知道可以做什么)。
这个问题的解决方案说起来也简单,多做些实际项目就可以了(但比较遗憾的是市面上这方面的材料是缺失的,通常这一步是靠自己花时间磨过去的)。
你需要的是可以指导你的伙伴、朋友或者老师,帮助你完成一系列的实践项目(这也正是学校的作用不是吗),要么就自己熬时间熬过去,熬得心灰意冷就算是失败了。
总结:
不仅是学 Python,学其他语言、技术、原理,也是同一个原理
好的学习环境要有良好的教学材料、问题解答和指导、针对性的作业训练、理论联系实践的练习项目等等。
虽说很多人认为一定要靠自学才是好的,但实际上也都会想要买学区房移民北上广、拥有更好的教育资源。
所以学编程也一样,参考以上的几点问题,如果你能解决以上几点问题,那就能高效高质量地学好编程。