•2012年,日本在中小学中普及编程教育科目。
•2014年,英国教育大纲规定计算机编程是5-16岁儿童必修课程。
•2015年,美国政府投资40亿美元开展少儿编程教育,呼吁全国青少儿学习编程。
•2016年,美国国情咨文推行计算机科学教育,强制要求高中毕业必修计算机编程学分。
•2017年,新加坡全面推动少儿编程教育,中小学考试中加入编程考试科目。
•2017年,浙江省试水少儿编程教育,将信息技术科提升为高考科目。
•2017年,国务院印发人工智能发展规划,将少儿编程教育提升为国家战略!
我们可以看到世界多个发达国家早在2012年就开始在中小学普及编程教育,从2015年美国全面推动少儿编程教育开始,少儿编程教育逐渐引起世界各国的注意,开始探讨如何开展编程教育。下面本文从几个方面全面解读少儿编程教育:
关于少儿编程的理性认知
学习编程到底是不是为了成为程序员?这个问题的答案其实大部分家长都已经知道,孩子学习编程,并不仅是为了从事相关专业的工作,从教育、启蒙的角度来看,少儿编程的核心理念是将计算机语言作儿童成长中的基础知识进行培养,与视听读写、逻辑表达、数学运算等没有区别。
但从另外一个角度来讲,在不久的将来,人人都需要有一定的”程序员素养“,因为人工智能是未来各个领域不可逆的大发展趋势。编程教育的兴起也并非只是一个短暂的热词,正如20年前英语教育因全球化进程而飞速普及,编程同英语一样也是一门语言。从赢得未来的角度出发,人机交流时代,谁能掌握好编程这门语言,谁就将是新的领先者。
值得注意的是,编程的思维模式区别于我们日常对事物认知和解决的模式,网上曾有很多关于程序员的小段子就是因此而产生的:
一个女人让他的程序员丈夫去商店买东西:你去附近的商店买些面包,如果有鸡蛋的话,买6个回来。20分钟后,这个丈夫买了6个面包回来,他的妻子大吃一惊:你为什么买了6个面包?! 程序员丈夫回答:因为他们有鸡蛋。
调侃归调侃,但其实编程对于逻辑严谨性、思维创想力的要求都非常高。因此,家长在培养的方面,不能拔苗助长、操之过急,需要先从让孩子习惯编程思维模式入手,在孩子有了编程思维的底子之后,进一步选择适合孩子的编程语言。而这也需要家长与孩子一起解计算机及相关学科的发展方向,及时为孩子同步前沿信息并与之沟通,否则孩子学编程也仅仅是随大流罢了。
关于编程与少儿编程的区别
提到这一点,我们首先要分清楚儿童编程语言和商业编程语言。所谓儿童编程语言,更多的是引导、启蒙、入门的作用。不会打字的孩子也可以很快上手,创造出各种好玩的游戏、动画获得成就感。积木块的代码模块可以帮助孩子们避免发生语法错误,从小就学会像程序员一样思考。常见的 Scratch、Tynker等都属于儿童编程语言,它们都是用图形化界面、简单拖延代码块的方式教孩子学编程。
但对于进入青春期之后,真正想在计算机领域有所作为的孩子来说,只靠少儿编程语言显然不够,还是要过渡到商业编程语言的学习,通过参与一个个工程实例,学习真正的编程作品商业化运行。在少儿编程教学中,模块化、积木化的学习方式可以帮助孩子理解代码和指令的含义,但我们不能因为孩子们喜欢这样游戏化的方式,就认定长期的编程教育也是如此。将编程划入人生目标的孩子们不仅需要知道指令和代码的含义,也得学会如何用代码来创造价值。
关于孩子学习编程的年龄
既然少儿编程教育起到的是启蒙作用,当然是在孩子具备基础交流、思考能力之后,越早开始越好。在新的英国国家教学大纲里,5-7岁的学生需要通过计算机课程掌握以下三点内容——理解什么是算法、算法如何以程序形式在电子设备上运行;创建和调试(debug)简单程序;用逻辑推理预测简单程序的执行结果。这些看似复杂的名词,其实早已是海外儿童们的常见技能。
理论上来说,锻炼编程思维没有时间限制,在孩子有一定的认知能力之后,就可以开始接触简单的STEM益智类玩具。在国内,也已经有很多幼儿园阶段的孩子们开始学习少儿编程语言。
我国对少儿编程教育的态度
乔布斯曾说过:“人人都应该学习一门计算机语言,因为它将教会你如何思考”。美国前总统奥巴马也曾为了推广编程教育,亲自写了一段Java代码,并表示向美国学校资助40亿美元用于计算机科学教育。英国也将2014年设立为"Year of Code",规定所有5-16岁的学生都必须学习计算机编程。
发达国家对推广编程教育的观点是:编程技能已不仅是信息行业对人才的需求,而将是所有行业的需求。行业需要的也不仅仅是软件专业人才,还需要大量掌握编程技能的行业专业人才。由此可见,学习计算机思维在美国法定教学大纲中占有重要的地位。
在国内,2015年9月,教育部发指导意见,鼓励探索STEAM教育、少儿编程等新教育模式。日前,国务院印发《新一代人工智能发展规划》,其中提到要完善人工智能领域学科布局,设立人工智能专业等。另外还建议“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广”。今年起,浙江地区将把信息技术作为高考选考科目,其高考考试范围包括编程、数据库处理、表格处理等。
家长如何引导孩子学习编程?
作为小白家长,本人对计算机编程就一窍不通,该如何引导孩子去学习编程呢?
少儿编程教育最大的特点就是游戏化,让孩子在游戏的过程中去总结学习。作于适龄的孩子在学习少儿编程之前,家长应该先有意识地培养孩子的数理思维能力,例如《如何培养孩子的编程思维和逻辑思维,数独、译码…这些小游戏就够了!》文章中的数独、译码、二进制等数理游戏,能帮助孩子建立数字世界的基本认识。
之后需要激发孩子对编程学习的兴趣,我们推荐家长带领孩子参加少儿编程教育网举办的“少儿编程一小时”活动,孩子可以挑选一款编程入门游戏,其中包括15个关卡,孩子通过图形化的编程模块对游戏进行控制,通关后可以获得少儿编程教育网颁发的少儿编程一小时证书。
在孩子学习的过程中,家长应该做到尽量少干涉,把相对自由的空间、时间交给孩子。当决定让孩子学编程的那一天起,就得做好多尝试的准备。可能你会担心孩子瞎点瞎碰,可能你很重视孩子的操作过程是否正确,还有可能你会着急孩子长时间无法完成某个编程任务……无论如何,你都不能越俎代庖,这是孩子学习和提升的时间,他们更多时候需要自己去探索。
总之,不要让孩子陷入过多的技术细节,导致对编程失去兴趣。也不要让孩子陷入重复劳动或是不敢动手的窘境,要注重整个学习过程,才能更好的引导孩子学习。