信息学奥赛 | 用学手艺的思维来学编程

编程是门手艺

别把编程当做一门枯燥的学科知识,把它当成弹钢琴,当成音乐创作,一半时间临摹苦练,一半时间用心感悟。

初学编程者会遇到种种困难,编程发展到今天已经拥有各种博大精深的语言体系,庞而复杂的执行原理,想学有所成灵活运用便有如高手悟剑,无法成就于朝夕。

首先,编程不是一种知识,而是一门手艺。既然是手艺,就要用学手艺的思路来学习。

我们从小进行的学习内容都是在学习知识,课前要预习,上课要听讲,下课做练习,然后复习考试。但是学手艺可不是这么学的。手艺不需要那么多的预习和铺垫,手艺是在实践中磨出来的。譬如小孩子学游泳,需要大人给他预先讲很多方法步骤吗?不需要,他们甚至理解能力都不够完善,怎么听得懂讲习。游泳是通过在水里的练习,教练手把手地传授动作,一点一点提高熟练度学会的。这是手艺的学法,游泳如此,编程亦然。

用学手艺的方法学编程

动手练习为主,看书学习为辅,甚者,初学的时候除了看必要的文档都大可不必借助其他书籍,等有了一定编程基础后再去看书,看完书立刻动手编程去验证书上的理论知识。

练习一定要循序渐进,把手艺分解成几个简单的动作,反复练习直到熟练,然后再把基本动作组合起来练习直到熟练。拿C语言举例,比如从认真写好一个Hello world开始,然后去熟悉 if for while 等基本关键字,然后熟悉字符串操作,内存操作,练习查找 排序 二叉树等基本算法数据结构,然后学习一个小型Framework。

找个师傅,手艺的一大特点就是自学是很慢的,而且容易走弯路,而有人手把手教要快得多,手艺有很多细节,实际操作经验,需要去体会感受的东西,这些细节书上基本不会有。回忆下自己当年是怎么学会骑自行车,学会游泳,学会打篮球的,按照同样的思路去学编程,而非用学大学课程的思路去学编程。

坚持做大量的练习,有如练琴、下棋,每一项精进都来自于前期的积累,高山阔海始于跬步万千,要想人前显贵必得人后受罪,既然是门手艺,那必学得兢兢业业的学艺。

记住,编程不是知识,是门手艺。

祝各位手艺人日精益近!

已邀请:

要回复问题请先登录注册