基于人工智能发展的小学编程教育

2021-04-12 18:22梁海玲
教学研究与管理 2021年1期
关键词:编程语言人工智能

梁海玲

摘 要:人工智能发展趋势进一步加剧,一方面,一些低端行业会被人工智能取代,另一方面,对创新有了更大的渴求,我国对人工智能的编程语言也重视起来。少儿编程作为开发学生逻辑思维的最佳工具,编程思维也将成为每个人的基本技能。笔者作为信息技术教师,在小学信息技术教学当中就开展了编程语言课程,因此笔者就对小学信息技术教学中编程语言教学相关概念和特点进行阐述,并对其教学策略进行探讨,希望能够为小学信息技术教师提供借鉴与帮助。

关键词:人工智能;编程语言;少儿编程;编程思维

如今我们正身处信息化的大潮中,信息技术正在改变世界,正在改变我们的学习和生活,要想在信息社会中有更大的作为,编程学习无疑是一个不错的选择。2017年下半年以来,国务院《新一代人工智能发展规划》、教育部《中小学综合实践活动课程指导纲要》和《普通高中信息课程标准(2017年版)》先后发布。2019年3月13日教育部发布的《2019年教育信息化和网络安全工作要点》中明确表示,2019年将啟动对2万名中小学生信息素养测评,并推动在中小学阶段设置人工智能相关课程,逐步推广编程教育,还将编制《中国智能教育发展方案》。从国家出台的这一系列政策中不难发现,我们国家对编程教育的重视,编程已经以迅雷不及掩耳之势,扎根在学生的学业中,真正成为“基础学科的一部分”。

一、编程学习即培养编程思维

什么是编程思维?它是我们解决问题的一种方法,是逻辑思维的一种,就是利用我们已有的知识和工具,将自身的思路转化成逻辑运算的步骤,从而完成复杂的任务。主要由分解、模式识别、抽象、算法四个步骤组成。

(一)分解

分解,就是把大问题分成若干个小问题,然后分别解决,它能锻炼学生拆解复杂问题的能力。将很难直接解决复杂问题,但如果把它拆解成很多小问题,再一一解决,就容易得多。

以广东省信息技术教材五年级下册第6课《快乐儿童节——玩转摩天轮》为例,当笔者在课堂上展示图1中的摩天轮时,学生都不约而同地说:“好复杂啊!”这时教师就需要指导学生拆解这个“摩天轮”:将“摩天轮”分解成图2、图3、图4这三个图,问题就变得简单多了。

要实现这三个图,可以具体用到GoC编程中的画直线、画圆和显示座舱图片这些程序代码,将每一个代码写好后,这个“摩天轮”也就画出来了。

分解是在编程学习中最常用到的,学生常常需要把复杂问题逐步拆解成若干简单问题,分别解决。

(二)模式识别

模式识别,就是“找规律”。需要学生观察问题,根据已有的知识和经验,找出以往的类似问题,举一反三琢磨出规律,这些具有较高模式识别能力的学生善于发现和总结规律,脑袋里装载各种规律的方法库,遇到相似的问题就直接套用。

还是以第6课为例,当学生编写GoC程序代码实现图5的效果后,懂得总结规律的学生就会很快发现,要实现最终如图6的效果,其实可以通过编写for循环语句,让计算机去重复执行,这样既省事又快速。

(三)抽象

抽象这个词看似难以理解,其实我们在工作中也一直在用这种方法,只是没有意识到这就是抽象。在《代码大全》一书中我们可以看到对编程思维中抽象相关概念。书中举了一个很简单的例子,我们在想到房子的时候已经在一定程度上对房子进行了抽象。

我们会想到房间的门、玻璃、窗户等等,但是我们很少会把房子想象成是由一个个原子按照一定规律排列组成的,这其实就是抽象。由于信息量太大也太复杂,我们无法接收房子完整的原子排列信息,只好对原子进行次的抽象,铁门、木门、桌子、椅子、地板、墙都是在一定形式上对原子的抽象。房子又是对门、墙的更高一级的抽象。可以发现,有了抽象概念以后,房子对我们来说就简单得多了。所以说,抽象就是只关注重点和必要细节的表达而忽略不必要的细节部分。

编程的世界里就包含“子系统、模块、包、类、方法和语句”等不同层级的抽象,学编程能锻炼学生不断抽象、聚焦关键信息的能力。编程思维中抽象思维能力的训练,在学语文课文和英语阅读理解时也有很大的帮助。

(四)算法

算法就是根据之前一系列对于问题的分析,再设计出每一步的解决步骤,执行并解决问题。在具体解决问题的过程中,会涉及两个非常重要的能力,那就是逻辑思维能力和调试纠错能力。计算机程序都需要很强的逻辑性,逻辑顺畅才能正常运行。

例如在GoC编程中,如何画出一个边长是50步的正方形呢?用我们日常的语言可以这样表达:

前进50步;右转90度;

前进50步;右转90度;

前进50步;右转90度;

前进50步;右转90度;

如果换成GoC编程语言,我们就应该这样编写:

p.fd(50); p.rt(90);

p.fd(50); p.rt(90);

p.fd(50); p.rt(90);

p.fd(50); p.rt(90);

这时学生就需要按照一定的编码规则,把解决问题的步骤编辑成计算机可以识别的语言。在这个过程中,学生的逻辑思维能力能够得到很好的锻炼。

而调试纠错,就是当出现结果与预期不符时,就需要查找算法中的漏洞。此时需要把设计的程序步骤一步一步地走一遍,再观察每一步做的结果。

还是以上面的正方形为例,在课堂上经常会有一些粗心的学生不小心把程序写成这样:

p.fd(50) p.rt(90)

p.fd(50) p.rt(90)

p.fd(50) p.rt(90)

p.fd(50) p.rt(90)

当他们编译的时候程序就会提示出错,这时他们需要耐心检查语句。通过反复检查,他们最终会发现原来自己编写的每个语句后面由于粗心大意而漏了分号。这样的过程极好地锻炼了学生的耐心和细心。除此之外,程序的调试纠错过程,也能很好地锻炼学生的抗挫能力。

二、编程能力在人工智能時代的重要性

(一)面对未来,创造力是必不可少的

编程学习培养学生源源不断的创造力。新技术的发明与应用,同样也会创造新的就业岗位。人们将会从事更有创意、更有创造、更有体验的工作。通过编程学习,一方面,可以掌握与计算机交流沟通的思维方式,使学生获得逻辑思维能力、创造力的提升;训练学生耐心和专注力,锻炼学生团队协作能力,培养独立思考与解决问题的能力,掌握AI时代必备技能与素养。另一方面,在编程的过程中因解决问题的目的方法不同,需要提出一些新的、巧妙的算法思路或设计一个独特的数据结构来支持和实现算法,需要培养学生的创新意识,而创新精神也正是学生面对未来社会不可缺少的条件之一。

(二)编程思维将成为未来标配

在这个人工智能高速发展的时代,编程思维是每个人的基本技能。

早在2006年,卡内基梅隆大学的Jeannette Marie Wing教授,就已经提出“人人都需要培养编程思维”。Scratch创始人,Mitch Resnick教授说过编写一个计算机程序,跟做一道菜,完成一个项目,管理一家公司,本质上都具有相同的目标——就是要有序地解决问题。

其实自2007年开始,各地信息技术教材自小学开始就接触了编程,比如广东省信息技术教材在六年级下册中设置了Logo语言,近两年广东省信息技术教材进行了很大的改革,在五年级教材中设置了GoC语言,六年级设置了Scratch语言。这些程序语言无论是在操作的易用性、程序的可读性、内容的丰富性,还是在共享的便捷性上,都更具有优势。而在今年的教材中除去Scratch的内容外,新教材中更体现了机器人、人工智能、3D打印等概念。可见不管国家文件也好还是教材设置也好,只要信息技术教师有这个能力,就已经开始给学生灌输“编程”理念。

可以预见,在未来,编程思维和编程能力,会逐渐成为大众需要掌握的能力标配,就像目前一门外语在人才市场上所处的地位一样,编程能力将被纳入未来职场基本技能之一。

三、结语

编程教育的最终目的是培养学生的逻辑思维能力、实践能力、解决问题的能力等综合素质。编程需要培养的是一种思维,其目的不在于结果,而是使学生领悟编程的思想和方法。编程的过程是逻辑思考和分析问题的过程,是发现问题、思考问题并改进程序的过程,是培养学生的专注力和坚韧不拔的毅力的过程。

参考文献

[1]中国少儿编程网.大家说的编程思维是什么?[EB/OL].http://www.Kid scode.cn/article/detail/id/5548.html.(2018-03-25)(2021-02-06).

[2]智宇科技.一文看懂中国编程教育政策大全[EB/OL].https://www.sohu.com/a/353436173_1203213362019-11.(2019-11-23)(2021-02-06).

[3]博客园.少儿编程是如何培养孩子的编程思维的?[EB/OL].https://www.cnblogs.com/scratch3/p/10920279.html.(2019-05-04)(2021-02-06).

(广东省茂名市江滨小学,茂名525000)

猜你喜欢
编程语言人工智能
我校新增“人工智能”本科专业
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
压力-体积转换在CFC编程语言中的实现解析
Java编程语言的特点与应用
2019:人工智能
常用计算机编程语言的分析及选用技巧
人工智能与就业
浅谈不同编程语言对计算机软件开发的影响
数读人工智能
面向对象Web开发编程语言的的评估方法