APP下载

人工智能时代青少年编程教育体系设计

2018-11-17李琳毛嘉诚胡立志张翰廷李聪徐攀

现代计算机 2018年29期
关键词:编程机器青少年

李琳,毛嘉诚,胡立志,张翰廷,李聪,徐攀

(武汉科技大学计算机学院,武汉430081)

0 引言

现在我们所处的时代是一个日新月异、瞬息万变的时代,新鲜事物不断涌现,给我们带来便利生活方式的新兴技术[1],例如电子支付、共享单车、大数据、AI人工智能、机器人、物联网、区块链等,其实以上各种应用都是与编程密不可分的。

2017年5月,AlphaGo在“围棋人机大战”中战胜人类顶尖选手柯洁,引发人们对AI人工智能和机器学习的极大关注,还有在《最强大脑》中百度机器人“小度”也在比赛中战胜了人类顶尖的脑力选手,人们在惊叹的同时也引起了极大的焦虑,未来人类的工作是否会被机器取而代之呢?其实我们真的不需要如此焦虑,因为机器是按照人类设定的程序来运行的。换句话说,就是我们对它发出了怎样的命令,它就会去完成怎样的任务。正如人和人之间的沟通需要语言一样,在人与机器之间进行沟通的语言就是编程语言,我们用机器能听懂的话告诉它该去做什么,它就一条条执行我们的命令。

那既然机器如此“听话”,它是如何战胜人类的呢?这得益于计算机的两大优势:①海量存储:计算机中可以存下大量的数据和信息;②高速计算:非常复杂的计算,可以在一瞬间得到结果。以AlphaGo为例,它的主要工作原理是深度学习(Deep Learning),简单通俗的说,就是在机器中存储着数百万人类围棋高手对弈的棋谱,机器通过强大快速的计算能力,能够预测每一个合法下一步的最佳概率。例如走这一步棋获胜的可能性通过计算得到的结果是72%,走另一步棋获胜的概率是85%,那机器当然会选择获胜概率最高的方式,一步步走下去从而最终获得了胜利。

在海量存储和迅速计算这两方面,人类无法与机器相比拟,那我们的优势又是什么呢?人类的优势是创造力!以后,危险的和重复劳动的工作都可以让机器去做,离我们生活近一点的如很多家里都在用的扫地机器人,它按照编好的程序完成扫地或拖地的任务,不辞劳苦,任劳任怨;机器还可以代替战地记者去报道新闻,可以代替“城市蜘蛛侠”来清洁高楼大厦。所以真正的人工智能不仅不会抹杀工作,而是会创造更多的工作,更多我们无法想象的工作,研究表明现在的小学生有65%长大后会从事,现在还未诞生的职业。那如何提高孩子在未来人工智能时代的竞争力呢?孩子现在要学的,应该是面向未来的思维方式和技能。要更好地理解机器的思维工作模式,未来与机器共处工作,学习编程是必然的选择。人人都需要培养编程思维。苹果创始人乔布斯说:人人都应该学习一门计算机语言,因为它将教会你如何思考。

1 国内外现状

放眼世界,很多发达国家都在积极推动少儿编程教育,美国少儿编程普及率已达40%以上。美国的很多孩子在六七岁时就开始接触编程课程,前总统奥巴马发起了“编程一小时”的运动,旨在让全美小学生开始学习编程。编写程序已经差不多形同日常生活技能,要更好地理解机器的思维工作模式,未来与机器共处工作,学习编程是必然的选择。但我国编程方面的人才远不能满足市场需要,对青少年这一人群的编程教育几乎为零。“少年强则国强”,青少年是推动未来祖国发展的主力军,当下也没有推出一套适合青少年学习的编程教育体系,可见必须及时设计出一套适合青少年的编程教育体系。

正如国务院的新规划所言:我国缺少重大原创成果,在基础理论、核心算法以及关键设备、高端芯片、重大产品与系统、基础材料、元器件、软件与接口等方面差距较大。因此我们必须狠抓青少年的编程思维培养,填补青少年教育的空白,响应国家战略,为国家提供急需的人才。

对于编程,一些家长有疑问:“编程不是程序员的工作吗?小孩需要这么早接触编程吗?”事实上,每个人都可以学习编程,但不是意味着每个人都要去当程序员[3],学习编程最大的好处是,可以对人的思维完整性和逻辑性进行训练,可以培养新的看问题和处理问题的方式。

大学阶段计算机程序设计课程体系已比较完备。然而目前小学,初中,高中的信息技术课程大多停留在简单的多媒体软件应用层面[4],对于编程学习基本为零,加之高考升学的压力,甚至有部分省市的信息技术课被其他课程占用,这些严重影响了青少年阶段学生编程思维建立[5]。进入大学后突然接触程序设计课程,由于没有基本的计算思维和编程思维的能力[6],造成大量学生编程课程学习困难,进而失去了学习兴趣,最终导致学习效果不理想。

反观培养逻辑思维的数学教育,小学、初中、高中已经建立起一套科学的循序渐进的教育体系[7],因此,在大学学习高等数学、线性代数、概率统计等课程时,学生由于有较好的数学基础,且具备基本的逻辑思维能力,能较快地进入学习状态。

编程学习也要从娃娃抓起。目前在政策层面上存在的主要问题就是,教育主管部门对于青少年计算机教育和编程教育不够重视,当然随着社会的发展,今后社会对于人们编程能力的要求变化,这一问题必将逐步改善。而在技术层面上,首当其冲的问题就是缺乏一套适合青少年的编程教育体系。

2 青少年编程教育体系设计

程序员使用的Java、C++等高级语言所写的代码是非常复杂的,并不适合孩子来学习。对于孩子来讲,学习编程的目的是培养编程思维、逻辑思维能力。美国麻省理工学院MIT研发的专门为青少年设计的编程语言Scratch,让孩子学编程就像搭积木一样简单。麻省理工学院在推出Scratch时的指导思想是“Create and share your own interactive stories,games,music and art”,意思是“创造和分享你自己的交互故事、游戏、音乐和艺术”。其中“create创造”是放在第一位的,可见学习Scratch的目的是培养孩子的创造力和动手实践能力。更关键的是,编程给孩子提供了另一种看世界的方式,提供了新的可能性,从某种角度上来说,编程语言是更大程度上的国际语言,就像通关密码,可以自由地解锁互联网信息社会。

对于孩子来说Scratch的操作十分简单,选定背景,添加角色,使用鼠标拖拽的方式,把需要的语句块拖到脚本区,然后设定参数,角色就可以活动起来了。每个不同的颜色块代表了不同类型的程序语句类别,这样通过颜色可以非常直观地进行判断,语句之间的连接就像搭积木一样容易操作。

编程和数学也是密不可分的,学习的过程中还会涉及到很多数学的知识和概念,例如笛卡尔坐标、位置的移动、旋转的角度,等等,这些数学知识不再只是书本上的文字,而变成了可以制作自己动画的基础,看着角色在坐标系中按照自己设定的数值进行位置的移动或旋转,学生一定会对这些数学抽象概念有更深的理解。

课堂中还可以把一些经典的数学奥数问题,例如植树问题、农夫过河问题、鸡兔同笼等用编程的方法,动画的形式展现出来。像这样的PBL项目式学习,会先给孩子们描述要解决的问题,例如农夫过河问题:一个农夫带着一只狼、一只羊和一棵白菜,身处河的南岸。他要把这些东西全部运到北岸。问题是他面前只有一条小船,船小到只能容下他和一件物品,只有农夫能撑船。另外,因为狼能吃羊,而羊爱吃白菜,所以农夫不能留下羊和白菜或者狼和羊单独在河的一边,自己离开。请问农夫该采取什么方案才能将所有的东西运过河呢?那先分析该问题,帮助孩子找到问题的解决方案,接着设计描述该方案的动画制作,这个动画里面需要哪几个角色啊?每个角色有哪些动作需要完成呢?完成这些动作需要哪些不同颜色的积木语句块呢一步步引导孩子去思考,然后自己动手完成编程的过程,最后检验完成的结果,并总结同类问题的编程过程,启发孩子做更深层次的思考。这个过程中需要用到Scratch的多种颜色积木运算模块,把运算语句和其他颜色积木语句结合起来完成。也会提升孩子的逻辑思维能力,培养孩子的编程思维,更细致缜密地设计每个角色的脚本,以及角色之间的协作与等待。

游戏是孩子最喜爱的事情,兴趣是最好的老师,扎克伯格小时候也是因为喜欢游戏才学编程的。学习到高级阶段后,孩子是可以制作出像植物大战僵尸、超级玛丽这样的游戏的。让孩子们在玩中学,在玩中创造一个新未来。因为孩子的思维中没有那么多的墙,所以儿童时期是人一生中创造力非常强的时期,没准学生们也可以设计制作出像《旅行青蛙》这样的热门游戏。

图1

按照青少年各个发展阶段的学习特点,总结出了一套编程教育体系,该体系分成十个阶段,从Level 1到Level 10:

(1)第一阶段以Scratch做为青少年编程入门语言学习,这种图形化编程方式适合零基础的少儿学习,用图形化的表现和拖拽的交互来完成编程的核心逻辑和成果交付。

(2)第二阶段着重于Scratch的掌握,对基本操作进行强化和升级,整合Scratch中的所有模块,并掌握一些基本的编程模式。

(3)第三阶段着重于Scratch的精通,使用前面所学知识,螺旋式提高难度,目标为熟练使用并精通所学知识点。

(4)第四阶段为PBL项目制学习,翻转课堂,先给学生看完成效果,然后思考尝试做出同样的效果,最后教师公布实现方法。

(5)第五阶段为编程机器人学习,通过Scratch图形化语言为机器人编写指令,控制机器人运动。

(6)第六阶段为编程机器人进阶,实现创意性编程机器人的组合动作控制等操作。

(7)第七阶段为Python入门,用高级语言Python实现之前做过的例子,完成自然过渡。

(8)第八阶段为Python进阶,后面第九阶段和第十阶段还可以进行信息学竞赛类编程的深度学习,形成一个完整的青少年编程教育学习体系。

3 结语

未来社会,人与机器的共处工作将是不可避免的,能够更懂机器运行模式的人,会占得先机。所谓知己知彼,百战不殆,我们不应该拿机器的优点和自己的缺点比,而应该发挥我们的长处,扬长避短,做更不容易被机器取代的工作,培养可以面向未来的思维方式和技能。保持孩子的好奇心和探索心,孩子会还我们让人惊喜的创造力!

猜你喜欢

编程机器青少年
机器狗
机器狗
青少年发明家
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
未来机器城
激励青少年放飞心中梦
让雷锋精神点亮青少年的成长之路