给年轻爸爸妈妈的建议:关于儿童学习编程和人工智能的四个问题
给年轻爸爸妈妈的建议:关于儿童学习编程和人工智能的四个问题
我们的世界正在迅速程序化、数据化和智能化,大数据、物联网、云计算、机器学习、人工智能这样一系列技术,让万物互联,让计算像自来水、电力一样成为一种基础资源,让编程成为像阅读、表达、数学一样的一种基础能力。在可见的未来,这种趋势会进一步加剧,尤其是人工智能的迅速发展,会将人类的经验和智慧通过算法快速挖掘和传播,普通人也能很容易享受到专业的生活服务和决策支持,这一方面会使得一些低端行业被人工智能取代;另一方面也对创新有了更大的渴求,这就需要人们对计算机逻辑有更深入和直观的理解,要具备与计算机相近的“计算思维”(Computational Thinking),并具备与之关联的能力。于是,“从小就编程”越来越成为很多人的共识。
第一个问题:儿童编程的现状是什么样的
2013年,code.org 在全球范围内发起了“编程一小时”( The Hour of Code ) 活动,已经有180多个国家和地区,数千万学生参与了这项活动。活动旨在揭秘编程并说明它是任何人包括小孩可以学习的基础知识,认为每一个学生都应该获得学习计算机科学的机会,它有益于培养解决问题的能力,逻辑能力和创造性。通过早期的学习,学生们将为他们在21世纪的职业成功打下基础。微软创始人比尔盖茨、Facebook 创始人扎克伯格、NBA球星波什、格莱美奖得主 Will.I.AM 等知名人物都为该活动站台。
美国总统奥巴马连续两年亲自为编程宣传活动“编程一小时”站台,凭一行“moveForward(100)”成为了全球首个写过代码的总统。他说:编程应当与ABC字母表和颜色同时得到教学,所有人都应该更早地学习如何编程。
苹果创始人史蒂夫乔布斯说:人人都应该学习一门计算机语言,因为它将教会你如何思考。
英国首相首相卡梅伦在2013年宣布对中小学教学大纲进行全面改革,一种一项重要修订就是将“计算科学(Computing)”列为 5-16岁、1-11年级的基础必修课程。
近日,国务院印发《新一代人工智能发展规划》,明确提出在中小学阶段设置人工智能相关课程,逐步推广编程教育。而以 Steam 为代表的儿童编程教育在北京、上海、广州、深圳这些一线城市非常火热,相关的培训机构也如雨后春笋一般迅速出现。
第二个问题:儿童编程有什么用处
编程是培养逻辑思维的最好途径
很多人对儿童编程都有一个误解,就是觉得是不是要培养一个未来的程序员。孩子还小,对于他未来的人生方向和职业选择,不应该过早地替他做出决定。所以,儿童编程的目的绝对不是培养程序员,更重要的是培养孩子的计算思维和逻辑能力。这就如同送孩子去学钢琴并不一定是让他成为职业钢琴家;让孩子去学习为期并不一定是让他成为职业围棋手一样。
那么什么是计算思维?计算思维实际上包括了数学思维和工程思维,其中最重要的是抽象分析能力和逻辑思考能力,这种能力的培养需要多年的积累。而计算机编程,实际就是对现实世界进行抽象的过程,在编写程序时,首先需要把一件事情抽象出来,再用逻辑化的方法表达出来,所以编程的过程就是锻炼抽象思维和逻辑表达能力的过程。
编程是培养想象力的有效办法
从某种意义上来说,编程所在的环境是一个人造的、边界清晰的、自洽的环境,这个环境有自己的规则,这些规则并不是非常复杂,都是非常简单和基础的,但通过组合,却可以变幻出无穷无尽的可能。在这种情况下,孩子就相当于这个世界的造物主,依靠自己的双手逐渐搭建出一个个可用的物体,而限制这个世界边界的就只有孩子的想象力,每个孩子都可以通过不断地练习,不断拓展想象力的边界。
事实上,任何计算机程序,都是对现实世界的一种模拟。现在炙手可热的机器学习、人工智能,更是在某种程度上模拟大脑的运作机理,未来这种模拟的规模和范围会迅速扩大,如何让这种模拟的结果变得卓越,解决现实的问题,创造社会和商业价值,就需要强大的想象力,而编程,就是拓展想象力的有效办法。
编程是培养勇气和韧性的绝佳路径
在初学编程时,会有一个枯燥期或者瓶颈期,在这个时候,家长要鼓励孩子鼓起勇气、坚持学习。在编程过程中,犯错是家常便饭,要做一个可用的、运行稳定良好的软件,需要不断的尝试和改正,通过一次次的尝试最终达到自己预想的结果。与其它事情不同的是,编程犯错的成本是很低的,犯错后可以很快改正并看到改正后的结果,这就能够比较容易强化孩子勇于尝试和保持韧劲的能力。
而编程学习还有一个更加突出的优势,就是乐趣。一方面,编出任何一个软件,都是一种创造,而这种创造的乐趣,是任何事情都无法比拟的,而且非常持久;另一方面,孩子学习编程可以通过游戏化的方式来实现,这对于孩子来说是有很吸引力的。所以,既然孩子使用电子产品不可避免,那么何不让他学习编程呢,这样也有助于防止孩子沉迷游戏和网络上的不良信息。
第三个问题:编程那么难,孩子能学会吗
很多爸爸妈妈,尤其是非理工科出身的爸爸妈妈,都有计算机恐惧症,觉得那东西很难。提起编程,更是觉得神秘幽远。所以说到儿童编程,都觉得孩子那么小,能学会吗?从国内外的一些编程教育实践来看,4岁以上都可以学习编程。我们也没必要这么早,但若从上小学,即6岁左右开始学习编程,是完全没有问题的。到了10岁以后,在孩子已经养成初级编程思维和图形化编程技能的情况下,就可以脱离图形界面,接触更高级的编程知识了。
事实上,我们经常看到孩子们因为被家长逼着练习钢琴、舞蹈、奥数而闷闷不乐,垂头丧气。但却几乎看不到那些不爱玩各种手机游戏的孩子。这是因为游戏和编程一样,对于孩子操作的反馈是实时的。如果我们对孩子进行一些引导,那么绝大多数孩子会喜欢上编程,并从中得到很多快乐。而且,科学研究证明,人脑学习抽象思维最快的时期就是童年时期,所以编程从娃娃抓起是很有道理的。
第四个问题:孩子该怎么样学习编程为好
每个人都有适合自己的学习方法,因此这个问题并没有标准答案。但在学习过程中,遵循以下几个原则会更好:
和孩子一起学习 亲子互动是孩子健康成长不可或缺的环节。强烈建议爸爸妈妈和孩子一起学习,相互比赛,看谁学的快,编的东西有趣,这样可以激发学习兴趣,有效提高学习效率。而且,不要以为儿童编程就很小儿科,陪孩子学习纯粹就是为了孩子,其实不然,编程思维对大人本身也很有帮助,也许会让你在工作和生活中更加有效率。至于有的大人让孩子报编程培训班,作者认为如果经济条件和时间条件允许的话,也可以考虑,但并不完全必要。最好的学习编程的方法就是和孩子一起学,重要的事情多强调几遍!
以激发兴趣为主 学习编程最好的办法就是要激发孩子的兴趣,让孩子主动学习。除了初期比较枯燥的阶段,要稍微加强引导之外,平时不要过分给孩子压任务,这样大多时候会适得其反,让孩子产生逆反心理。同时,任何事情都不能走极端,学习编程要注意安排好时间,不要让孩子长时间盯着电脑,否则可能损害视力。
以解决问题为导向 学习过程中,要以解决实际问题为导向,坚持从易到难、从小到大,完成一个个可实际运行的软件,逐步锻炼解决复杂问题的能力,让孩子在实际项目中体会到创造的乐趣。切不可像大人那样,堆砌传授知识,这样很容易让孩子感到沮丧并丧失兴趣。
选择正确的编程软件 目前针对儿童设计的编程语言比较多,打开手机,也能搜索到很多儿童编程APP,很多年轻爸爸妈妈可能不知道孩子该学习哪种。对于这个问题,作者就直接给出答案,那就是刚上小学,即6岁左右的孩子,刚开始接触编程应该从麻省理工学院设计的 Scratch 语言开始学习,这是一个图形化的,可以让孩子通过拖动鼠标完成简单游戏和软件的一门编程语言,非常适合孩子学习编程。等到孩子有一定基础了,10岁左右就可以开始学习更加高级的语言了,目前来看,Python 语言相对简单和简洁。
喜欢闲适安静的生活,懂一点计算机编程,懂一点统计学和数据分析。(爱编程爱统计)