查看原文
其他

不会编程,你的孩子可能会错过未来的无限可能

2017-06-30 外滩教育

看点  只有想当程序员的孩子才需要学编程吗?香港理工大学计算机系博士生徐君认为,编程和数学一样,是一种“可以打底”的基本的思维能力,如果较早接触,能让孩子建立相对的优势和自信,在未来占得先机。在下文中,他分析了市面上主流的几款编程学习软件,针对编程能力程度不同的孩子,给出学习建议。


文 | 徐君    编辑丨李臻


我从小时候五年级的时候开始接触数学竞赛,在上高中以前完全靠兴趣学习竞赛内容。上高中之后的第一个学期,学校发布公告,希望成立一个竞赛班。


简单的初试之后,我进入了竞赛班学习,主攻数学竞赛。在随后的竞赛培训课程里,我深深地被那些难题吸引,不断提升自己解决难题的技巧。最终, 我因为在全国数学联赛中的优异表现被南开大学数学系保送。


现在看来,我觉得学习数学竞赛,就像玩一种非常考验智力的游戏。解一个数学难题就是把复杂的问题化解成一个又一个小问题,然后逐一突破,最终在不知不觉中把复杂的问题给解决了。


这种瓦解复杂数学问题的能力让我在数学领域有优势和自信。我在之后选择专业和事业的时候,一直都是选择能尽量利用我的优势的方向和项目。如果没有这些在数学竞赛中的能力和经历,我在之后的学习和工作中将没有任何优势,会没有那么自信,也会失去一些机会,没有优势的不自信也许会让我更容易放弃。


编程和数学竞赛一样,也有类似的功能。学习编程同样可以让孩子建立相对的优势和自信,让孩子在未来的很多领域里占得先机。



在给孩子选择编程学习的启蒙上,我强烈建议CodeMonkey这个教育科技产品。这是因为CodeMonkey具备很多优质特性。



首先,CodeMonkey这个优秀而有趣的编程产品可以让孩子在编程上产生后天的优势。


作为入选SXSW教育峰会的明星产品,CodeMonkey里有很多孩子们喜欢的元素。CodeMonkey里会出现各种可爱的动物,比如爱吃香蕉的猴子,会缩脖子的乌龟,憨态可掬的河马等等;CodeMonkey的画面风格非常卡通和可爱,不会带有负面或暴力等不适合孩子看到的画面;动画音效也被巧妙设计,让孩子容易进入故事,获得成就感。


这一点在之前的两届训练营里得到了家长和孩子们的充分肯定。也正是因为这些优秀而有趣的特质,使得CodeMonkey出现不到一年就让全球几百万的孩子们喜欢上编程。



相反,普通而无趣的编程产品会让孩子觉得编程无聊,并且这种观念一旦形成,改过来有一定的困难。


在香港,早期主要在中学里教Logo编程,但因电子龟昂贵,学校就用画出来的龟代替,可是不少中学生觉得控制画出来的龟有点无聊,因此对编程的学习兴趣不大。现在,出现了很多新的编程产品,包括CodeMonkey、Scratch。很多学校包括小学开设编程课程,广受家长和孩子们的欢迎。


▲海龟作图


其次,CodeMonkey有助于孩子学习到通用的编程知识和清晰的思维习惯。CodeMonkey在200关游戏里的编程知识点与常用的计算机编程语言(比如C++,Python,Java,JavaScript)都是相通的,涵盖计算机编程领域里的大部分概念和知识,包括对象,变量,函数,循环,条件,逻辑,判断等语句以及面向对象的程序设计思想。


游戏难度逐渐增加,让孩子在思考和学习中不知不觉地提升了“化复杂为简单”的解决问题能力。如果孩子希望进一步挑战自己,CodeMonkey的特技模式可以让他们进一步得到提升。



此外,CodeMonkey在执行代码的时候,还会自动高亮每次执行的那一行代码,并且在动画里有所反馈,让孩子直观地理解代码在运行过程中到底发生了什么,这有利于帮助孩子在学习编程过程中形成清晰的思维习惯。


▲CodeMonkey高亮界面


第三,CodeMonkey的模块化的编程模式方便孩子们通过点击代码模块写代码,大大降低了编程难度。这是CodeMonkey专门针对青少年学员的设计,也是区分青少年和成人的编程产品的重要因素之一。


通过学习CodeMonkey,孩子们可以熟悉和掌握CoffeeScript语言,这是JavaScript编程语言(在工业界中被广泛使用)的简化版本,为未来学习Javascript或者其它编程语言提供了很好的缓冲。


孩子们在学习编程的过程中还会不断地运用阅读,理解,逻辑,计算的能力去分析和解决问题。这些能力还可以用于孩子的其他方面,是通过CodeMonkey学习编程的副产品。


从我们对市场上少儿编程产品的调研、编程课程的开发经验和广泛的学习反馈来看,在比较流行的编程学习产品CodeMonkey、Scratch、Minecraft,以及开发能力较强的C++、Python等语言中,CodeMonkey依靠强大的优势和广泛的认可成为青少年学习编程的最佳入门产品。



我一直相信,这个世界上唯一不变的规律就是万事万物都在一直变化着。在现实世界里,计算机编程有着越来越广泛的应用前景,同样预示着越来越多的机会。


为积极适应未来的变化,孩子们在熟练学习CodeMonkey的200关之后,需要进一步学习开发能力更强的编程教育产品,来保持和增强他们的优势和自信。


那么在CodeMonkey之后,我们应该让孩子们学习什么呢?在计算机领域有一个共识,学习编程的最好方式就是项目驱动,即在实际项目中学习并同时使用编程知识。


所以我给出的建议是,在孩子们有了编程的学习兴趣和基本能力之后,可以让他们在一个个相对熟悉又充满新奇的项目里不断提升编程能力,提升分析问题、解决问题的能力,持续加强自己在编程方面的优势和自信。


比如,可以让孩子继续尝试CodeMonkey的自由关卡。让孩子们尝试自由关卡可以发挥孩子们的想象力,让他们有创作的机会。



考虑到孩子们接触编程有先后差异,我建议对不同的孩子采用不同的编程产品进行后续的编程教育。


对于较晚接触编程学习、对编程还有点陌生的孩子们,我建议他们在完成CodeMonkey的练习之后,可以根据合适的教程、课程学习Scratch编程。这样即可以让孩子们继续保持对编程的兴趣,同时也让他们通过完成一个个有趣的项目来更深入地了解编程。


在孩子们可以熟练地通过编程完成项目之后,他们就会深刻体会到如何利用把一个复杂的问题分解成一个个小问题并且逐个击破。


而对于那些接触编程较早、对编程比较熟练的孩子们,我建议他们可以接触MIT App Inventor,根据合适的教程和课程来设计各种功能的手机应用。同样拥有图形化的编程界面,CodeMonkey拥有严格可控的编程环境,而Scratch和MIT App Inventor可以让孩子自由发挥。


▲MIT App Inventor


当然,等孩子完成项目的能力逐渐强大和成熟之后,就可以开始接触和学习开发能力更强的计算机编程语言。可以考虑让孩子们学习与CodeMonkey结合紧密而更自由的JavaScript语言,或者通过Minecraft学习入门级的Python语言等等。


孩子们依然可以采用项目驱动式来学习编程语言。在完成每一个项目之后,孩子可以通过总结这个项目的各个方面,比如如何把整个项目化解为一个个小问题、有什么之前没遇到过的难点、怎么拓展使得项目变得更完美等等,来增进自己开发、管理项目的经验。


在现实世界中,这些编程项目可以包括(用JavaScript举例),运用JavaScript结合HTML语言编写网页、在AdobePhoneGap开发跨平台的手机应用、与硬件(比如Arduino,树莓派)结合开发一个解决现实问题的产品原型等等。



值得注意的是,孩子们学习编程并不是在未来成为程序员。这就好比孩子们学习音乐并不是为了在未来成为音乐家。孩子们尽早学习编程,可以尽早地体验编程之美,说不定从中找到自己感兴趣的事业。


尽管孩子们未来的事业可能和编程不沾边,他们在编程学习里得到的快乐、优势和自信,“化复杂为简单”的做事哲学,分析、解决问题的能力会让他们受益终身。



徐君

香港理工大学计算机系博士生,南开大学数学系本科、硕士(优秀毕业生)。全国高中数学联赛获奖保送上大学,研究生国家奖学金获得者,研究工作发表在计算机领域顶级会议和期刊。爱好科研、软硬件开发、少儿科技教育,开有公众号“君君玩科技”(ID: kidstechedu)。




这个暑假

风靡全球的编码猴又回来了!

 CodeMonkey Online Camp 

升级版夏令营强势回归!

最适合入门的编程游戏

助教答疑,提供个性化学习报告

通过100个关卡可获得证书

闯关竞赛,限时挑战全新关卡

仅限300人,额满即止


点击下图

了解更多


点击阅读原文,进外滩教育微店购买


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存