如何才能学习好编程?
1.知道自己为什么学编程?
明确目标,你才能更好的前进,以终为始才是高效的学习。比如你学习编程最初的动机就是想做一个小游戏,那么这个就是你对目标,你要时刻记住,不要让自己远离它。
2.如何实现目标/学习编程?
盯住目标,我们知道做游戏得写程序实现。
第一步: 最简单程序
先写个最简单的程序,让程序跑起来,知道计算机是怎样运行程序的,以及程序运行成功是怎样的,第一次成功运行程序的感觉应该是非常美妙的,因为你又向你的目标迈进了一步,尽管程序非常简单。
print('hello world')
第二步:最简单游戏模板
就可以思考寻找实现一个最简单的游戏方法,比如怎样运行出一个游戏窗口。有些人可能会说,这么快,基础知识都还没有学习,就直接到这步了吗?
大部分人是怎样开始学习编程的,按照下面目录的顺序,按部就班,一个知识点,一个章节的去学习。
当然了,如果有很好的设计案例,确实也可以学的非常有趣,但是它的流程是非常长的,你想想你学编程的目的是想做游戏,但是一上来要先学一大堆基础的,然后才能开始做游戏,这个过程实在是太长的,可能还没坚持到做游戏,我们就已经放弃了。
回想我们以前学生时代的学习,老师是不是经常说数学物理,现在好好学,以后会用到的;但是并没有展示出它的真正价值,只是为了学习知识点而学知识点,这种学习方式是很割裂的,并且由于没有使用很快就会忘却。
我在教学设计的书上看到这样一段话:
传统的学习方法叫作垒砖式学习,如果垒砖的人只是按照要求一块砖一块砖地操作,那么对于房子的理解是垒完之后才发生的。但是当我们还不了解学科内容,没有高度优先的问题来引导探究时,没有目的的学习很容易让人产生困惑,是没有意义和使人厌烦的。这就好像我们只是一页页地阅读百科全书,只是考察知识,掌握情况。为什么学这些内容?为什么现在学这些内容?学了这些知识会有什么用?这些问题被不断地提出,但却被学习本身所忽略(不管老师在口头上给出什么样的合理解释)。
学习动机是非常重要的,只有当我们要解决某个特定的问题,或有某种好奇心,我们才会有强烈的学习知识的欲望。当自我满足和有效应用成为学习目标的时候,这个时候学习效果是非常好的。
所以直接靠近我们的目标是更好的选择。我们应该采取用啥学啥的方法。游戏中需要用到循环,这个时候就学循环,学完后就可以直接用进去,跑完整个流程后,我们对游戏制作过程应该也就了解了,知道了学习做游戏需要用到那些知识,并且也实践过了。
当然了,此时我们理解的还是不够深的,接下来我们可以选择继续找一个类似的游戏自己去实战一边,可以边模仿边做,确保自己是理解每一行代码的,不理解的可以单独去深入学习对应部分的知识,或者询问其它懂的人。
第三步 复盘笔记输出
经过前面的步骤,我们就已经掌握了做游戏的一个基本流程,接下来就需要自己把整个过程整理一下,用笔记的方式输出,也可以写上自己碰到哪些问题,怎样解决的。
比如我图片这样,将实现的过程记录下来,形成自己的一个流程笔记,随着做的游戏越来越多,就可以形成更多的代码积累,解决问题能力也会不断提高。往后碰到类似问题,到里面查找就可以了。
第四步:循环打牢基础,挑战新问题
通过前面的步骤,基本上照着自己的模板做一般的小游戏已经没什么问题了,这个时候就可以一边继续做其它不同类型的游戏,一边系统性的去学习前面基础的更细节的知识,让自己理解的更深,当然了,一直同水平的实践容易原地踏步,可以尝试挑战重来没有面临过的问题,以此不断突破瓶颈。
为什么很多人学习了很久编程,一直没什么进步,除了输入不够,主要是方法不对,没有学习正反馈或者反馈太少,导致产生自我怀疑,不适合编程,继续学还有意义嘛,最后放弃。
编程其实还是需要多实践的,实践,其实就是逼着你去检验自己,和学校考试类似,考试的目的是知道自己哪里不行,然后对应的去补,不断的输入,输出,纠正,形成螺旋上升。
以上只是个人经验,追求比较高效的学习,如果你能够一直坚持学习,不放弃,很多内容其实也是可以学会的,可能就是花的时间比较长。
(全文完)
欢迎转载,转载请注明出处!
欢迎关注公众微信号:叶子陪你玩编程