这两天从老婆那里接到了一项政治任务,那就是今后每周要教儿子一节编程课,让他从小培养下编程思维。你可别误会,我老婆可从来没想过让儿子当码农,编程思维和最终从事代码开发工作完全是两回事,在这个智能和计算机无处不在的世界中,能够理解这些冰冷的机器,并对它们善加利用,你将能够变得更加强大。
教编程并不是一件小事情,编程涉及到多种语言,语言的选择对于孩子编程学习至关重要的。针对于小学学生,目前外面大部分教的都是 scratch,这种语言采用图形化的编程方式,孩子可以像搭乐高积木一样进行编程的学习,市场上的各大机构主要就是使用这种语言。这种语言虽然在少儿编程领域比较流行,但从实际的应用来说,这种语言并没有太多帮助,它最多就是帮助孩子对编程有一个基本的认知,一般孩子学scratch 一两年后,就会转向其他实用价值更高的语言。
现在不少家长为了让孩子考NOI比赛,会让小学生去学C++,说实话,这种语言对于小学生来说绝对是有点虐的,这方面,我敢以20年老研发的经验发誓。这种语言的主要问题是,整个学习的周期太长了,即使学习了语法后,基本上很难编出有价值的程序,要想真的做点有意思的项目,你还要经过很多的学习和磨练。而我一直觉得,如果语言学习中缺少了即时的项目反馈,很难坚持学习下去,面对一个都不知道能够干什么的语言,相信大部分孩子的信心和耐心都会被消耗殆尽。
因此,在各种比较之后,我决定教孩子学习Python,Python是一门脚本语言,并且是一门通用型语言,你现在看到的各种互联网应用,原则上都可以使用Python 进行开发。Python有很多第三方库,使用起来非常便捷,当你学习了基本的语法后,就可以开始利用这些第三方库开发些有意思的项目,例如爬虫项目,游戏项目,甚至人工智能项目。学以致用,这样才能更好的激发起学习的兴趣。
在确定了语言之后,就要考虑课程体系的设计了,如何能够让孩子有兴趣的学习这门课程,这是教学中重点要考虑的问题,根据经验,我决定按照以下思路去教学:
从名人故事开始
如何能够让孩子对编程产生兴趣嗯?我认为最有效的办法是从故事开始,当你熟悉了这个行业很多名人的故事后,自然也会对这个行业产生兴趣。面对着历史上这么多的大牛,一定会心生向往,见贤思齐。快速学习语法
任何真正有价值的事情都没那么容易精通,但是入门还是可以尽快的。快速掌握了基本的知识后,在生活中不断的使用,不断重复,这样自然就能快速提升了。Python语言的关键字也就33个,除去一些比较高级的概念,例如类,生成器,异常 等等外,其实真的平时经常使用的也没几个,原则上通过几次课程就能把这些关键字学习完毕,而后续的事情,就是不断通过小项目进行深入加强了。案例学习法
学习任何一种语言都是为了交流使用,在掌握了基本的程序语法后,就应该考虑应该如何使用这门语言,而做项目是最好的编程学习方式。项目可以从一个简单的鸡兔同笼问题开始,渐渐的不断提升难度,结合生活学习中的问题,可以通过编程的方式来提升效率,通过这样的学习,才能真正做到学以致用。
不知道其他家长让孩子学习编程的目的是怎么样的,我的目的很明确,就是让孩子熟悉并掌握与机器智能沟通的方式。基于这样的目的,所学的语言,以及学习的内容肯定是偏向实用性方面的,同时,在学习方式上,也希望能够在快速入门后,从实践中不断的锻炼提升,切实解决生活学习中的问题。希望孩子能够通过编程来控制更多的机器智能,真正把自己全副武装起来。