看专业计算机博士对少儿如何学编程的想法 (2)
从我们对市场上少儿编程产品的调研、编程课程的开发经验和广泛的学习反馈来看,在比较流行的编程学习产品CodeMonkey、Scratch、Minecraft,以及开发能力较强的C++、Python等语言中,CodeMonkey依靠强大的优势和广泛的认可成为青少年学习编程的最佳入门产品。
我一直相信,这个世界上唯一不变的规律就是万事万物都在一直变化着。在现实世界里,计算机编程有着越来越广泛的应用前景,同样预示着越来越多的机会。
为积极适应未来的变化,孩子们在熟练学习CodeMonkey的200关之后,需要进一步学习开发能力更强的编程教育产品,来保持和增强他们的优势和自信。
那么在CodeMonkey之后,我们应该让孩子们学习什么呢?在计算机领域有一个共识,学习编程的最好方式就是项目驱动,即在实际项目中学习并同时使用编程知识。
所以我给出的建议是,在孩子们有了编程的学习兴趣和基本能力之后,可以让他们在一个个相对熟悉又充满新奇的项目里不断提升编程能力,提升分析问题、解决问题的能力,持续加强自己在编程方面的优势和自信。
比如,可以让孩子继续尝试CodeMonkey的自由关卡。让孩子们尝试自由关卡可以发挥孩子们的想象力,让他们有创作的机会。
考虑到孩子们接触编程有先后差异,我建议对不同的孩子采用不同的编程产品进行后续的编程教育。
对于较晚接触编程学习、对编程还有点陌生的孩子们,我建议他们在完成CodeMonkey的练习之后,可以根据合适的教程、课程学习Scratch编程。这样即可以让孩子们继续保持对编程的兴趣,同时也让他们通过完成一个个有趣的项目来更深入地了解编程。
在孩子们可以熟练地通过编程完成项目之后,他们就会深刻体会到如何利用把一个复杂的问题分解成一个个小问题并且逐个击破。
而对于那些接触编程较早、对编程比较熟练的孩子们,我建议他们可以接触MIT App Inventor,根据合适的教程和课程来设计各种功能的手机应用。同样拥有图形化的编程界面,CodeMonkey拥有严格可控的编程环境,而Scratch和MIT App Inventor可以让孩子自由发挥。
当然,等孩子完成项目的能力逐渐强大和成熟之后,就可以开始接触和学习开发能力更强的计算机编程语言。可以考虑让孩子们学习与CodeMonkey结合紧密而更自由的JavaScript语言,或者通过Minecraft学习入门级的Python语言等等。
孩子们依然可以采用项目驱动式来学习编程语言。在完成每一个项目之后,孩子可以通过总结这个项目的各个方面,比如如何把整个项目化解为一个个小问题、有什么之前没遇到过的难点、怎么拓展使得项目变得更完美等等,来增进自己开发、管理项目的经验。
在现实世界中,这些编程项目可以包括(用JavaScript举例),运用JavaScript结合HTML语言编写网页、在AdobePhoneGap开发跨平台的手机应用、与硬件(比如Arduino,树莓派)结合开发一个解决现实问题的产品原型等等。
值得注意的是,孩子们学习编程并不是在未来成为程序员。这就好比孩子们学习音乐并不是为了在未来成为音乐家。孩子们尽早学习编程,可以尽早地体验编程之美,说不定从中找到自己感兴趣的事业。
尽管孩子们未来的事业可能和编程不沾边,他们在编程学习里得到的快乐、优势和自信,“化复杂为简单”的做事哲学,分析、解决问题的能力会让他们受益终身。