王丹
【摘 要】编程教学作为人工智能+教育的重要部分,主要是通过编程来让学生体验人工智能,使其更好地适应人工智能时代发展。本文以“智能入库机器人”例探究将人工智能与教育有机结合,构造有趣有用的编程课程,探索人工智能教学的开展路径。
【关键词】人工智能;人工智能+教育;编程教学
【中图分类号】G434 【文献标识码】B
【论文编号】1671-7384(2021)02、03-094-04
人工智能时代的到来,推动着各领域智能化发展的步伐。如何培养学生的人工智能意识和人工智能素养,也成为教育领域亟待解决的问题。而机器人能够将人工智能的技术应用和学生的编程设想直接呈现。人工智能进课程的核心问题是如何把人工智能从技术形态转换为学生感兴趣、能接受的教育形态。
人工智能与编程教学
人工智能是借助计算机等设备模拟人类智能活动的技术,研究、开发用于模拟、延伸和扩展人类智能的理论、技术、方法及应用系统,目的是探索人类智能的方法和实质,并生产出能与人的智能相似的方式作出各种反应的智能机器,从而在各行业中发挥作用[1]。
编程教学作为人工智能+教育的重要部分,主要是通过编程来让学生体验人工智能,使其更好地适应人工智能时代发展。《普通高中信息技术课程标准》中要求学生能描述人工智能的基本特征,会利用开源软硬件平台设计搭建简单智能系统;了解人工智能的新进展、新应用,并能适当运用于学习和生活中;能客观认识人工智能技术对社会生活的影响。可见人工智能课程教学的目的不是培养程序员,不是要求人人有高超的编程技术,而是让学生通过学习了解人工智能技术的基本原理,通过编程体验人工智能技术应用,培养学生的人工智能意识与素养。
在中小学中开展人工智能教育需具备教师、课程、设備、时间和环境五个基本条件[2]。教师从有机器人教学经验、对人工智能感兴趣的信息技术教师中选拔,并为其提供专业的人工智能理论与实践培训。课程可以从人工智能选修教材中选取,或从优秀的编程教学案例或机器人教学案例中选取改编,也可以结合生活实际开发新的课程,设备涉及计算机、机器人等。教学时间可以安排在信息技术学科课程中,也可以安排在综合实践课程中。教学环境最好安排专用教室。
“智能入库机器人”教学案例
高中学段人工智能能力培养目标为理解与实现专题性人工智能技术,了解人工智能发展与应用前沿。因此人工智能课程可以采用专题教学或项目式教学方法。很多公司都需要将货物分门别类地存放入仓库,在“智能入库机器人”一课中,学生要探究如何借助人工智能技术帮助人们便捷、高效地进行入库工作。这要利用人工智能中的语音识别、图像识别等技术。课堂中,我们可以借助图形化编程软件DobotBlock及其内部嵌入的人工智能模块接口,实现机器人自动识别货物并将其安放到指定位置,即智能入库。完成这样的程序设计,学生需要了解分支结构与循环结构等编程基础知识及人工智能中的图像识别、语音识别等技术。学生对人工智能很感兴趣,有对新科技强烈的探究欲望,但对人工智能了解很少,多数只是停留在听说过这个词的认识上,知道智能家居用了人工智能技术,但并不了解人工智能的内涵、关键技术及其基本原理。这一内容可以让学生在较短的时间内直观地体验到人工智能技术在生活中的应用方法,了解人工智能技术的基本原理,逐渐树立起利用人工智能技术解决问题的意识和思维,提高探究人工智能技术奥秘的兴趣与热情,为以后学习人工智能相关课程、适应人工智能时代生活方式打好基础。
1.视频导入,明确项目要求
情境再现是抽取实际生活场景片段以视频、图像、文字、表演等方式呈现给学生,使学生快速融入学习情境中,激发学生的探索欲望,并引导学生从情境中观察现象、发现问题,提高解决问题的积极性。
首先为学生展示一段某公司仓库自动化入库的运作视频,让学生了解自动的、智能的货物入库正逐步取代手动的、人工的方式,体会人工智能技术在工业等领域的应用与影响。引导学生在观察视频内容的过程中,思考机器的运作流程,推理机器所具有的功能,如移动、旋转、伸缩、识别、记忆,能认识不同的货物,知道入库的要求,还了解不同货物在仓库中存放的不同位置,能够移动货物位置,可以连续完成多个入库任务等。设计问题时要结合学生对人工智能的了解情况,不要超出学生的认知范围,适当调整提问方式。如在观看完上述视频后,直接问学生其中用到了人工智能中的哪些技术,这样的问题学生可能很难回答出来,但提问机器的工作流程、具备功能,学生在认真观察、思考后能够较好地回答,在此基础上进一步追问实现这些功能需要用到什么技术,层层递进。
紧接着引出学习项目“智能入库机器人”,介绍项目概况、机器设备,提出基本要求。由于课堂教学所用机器人不同于现实工作中的机器人,工作环境也大不相同,要结合实际情况简化项目。仓库场地用图纸代替,给出关键区域(机器人位置、仓库入口、货物存放位置),不同货物用不同颜色的小方块代替。要求三种货物随机入库,机器人能识别货物种类并将其移动至指定位置。
2.问题分析,分解项目任务
拿到任务后,应该冷静地分析问题,有利于全面了解项目情况,理清思路,找出问题的关键所在。项目任务往往是比较复杂的、综合的大任务,引导学生将其分解成一个个小任务,逐一突破完成。这也体现了“化大为小”“分而治之”的分解思维。
“智能入库机器人”项目的总任务是实现智能入库,子任务为识别货物、移动货物。完成这两个子任务又涉及一系列问题,如何让机器人识别出货物类型(图像识别或颜色识别)、如何教会机器识别图像或颜色(机器学习,建立模型并训练)、机器人如何移动货物(吸盘吸取或爪子抓取)、如何让机器知道把货物放在什么位置(根据不同识别结果,指定不同的目标点坐标)等。这部分要注重引导学生思考讨论,互相交流提出意见,并梳理结果。同时,分解任务也有利于学生之间开展分工合作,每个人明确自己负责的小任务,共同完成项目,让每位学生都参与到学习中,真正地将小组协作落到实处。教师在这一环节做引导、补充或纠正,尤其是在新知识、新技能方面,如教机器识别图像,学生并不清楚如何实现,不知道机器学习的原理,这时就要教师提供讲解,解除学生心中的疑惑。
3.方案设计,呈现解决方案
明确问题与任务后,学生讨论构思方案,进行方案设计并将其呈现出来,可以选用文字、图表、思维导图、流程图等形式呈现。在编程教学中,程序设计适合使用流程图呈现解决方案。
引导学生根据项目要求,结合视频演示与任务分解,梳理“智能入库机器人”的工作流程,明确流程中的各个环节:(1)归零,机器人启动位置归零,进入工作准备状态,随时准备迎接即将入库的货物;(2)卸货,人手动把货物放置仓库入口处;(3)采集,机器人通过摄像头获取货物的图像或颜色,可将摄像头安装在机器人末端一侧;(4)识别,根据上一步采集到的信息判断货物类型并找到指定位置;(5)入库,下移抓取货物,运动到指定位置放下货物;(6)归位,运动至初始位置,等待下次任务。其中,识别货物种类、找到位置需要借助软件中的AI模块接口,建立模型,让机器学习各种货物类型对应的图像或颜色,并用标签标记,学习之后要训练模型,直至识别无误完成训练。确定指定位置用分支结构实现,预设多种情况,以保证程序顺利进行。这一阶段只是初步设计,后续实施过程中可能会发现设计不合理或原先没有考虑到的地方,甚至有了新的灵感或想法,可以边操作边修改设计。
4.问题解决,编程完成任务
问题解决需要把原先的设计方案变成现实来完成任务,是从思考到实践的转换,要求学生明确方案中的每一步需要如何实现。在编程教学中,主要可以采用图形化编程或编写代码来完成程序。学生在信息技术课程学习中,学习了Python编程的基础知识,掌握算法三大基本结构的语法与简单实现,但编程能力不足,程序算法设计能力较弱,编写完整的程序实现特定功能比较困难,尤其是智能入库这类现实生活中的复杂问题更为困难。因此,对于初步学习人工智能或编程基础一般的学生,建议先使用图形化的编程软件搭建出框架,理顺逻辑关系,再过渡到用代码来实现程序。人工智能的实现需要有一定的编程能力、算法思想和人工智能应用场景体会,也需要一定的硬件设备辅助实现。编程软件中嵌入AI接口,使人工智能快速便捷地走进中小学课堂成为可能。在进行人工智能感知的视觉、听觉等功能中,通过机器人设备或电脑上的摄像头、麦克风及相应软件实现,用时调用外部的人工智能接口,实现人工智能的感官功能;当产生机器人认知与决策后,机器人呈现动作反馈。
借助图形化编程软件,结合流程图,学生逐步搭建程序模块。学生边做边测试,即每搭建一个小模块都测试运行,检查其结果是否和预设一致,相对于全部搭建完再运行的方法,可以及时发现并改正错误,容易理清程序找出错误点,提高编程效率,也能一步步看到成果,提高学生的成就感和自信心,以更好的心态进行下一步操作。后续结合学生实际情况,可选择是否用代码来实现程序。
教师要引导学生在实践中探索,当学生产生疑惑,不知道或无法判断选择何种方法更好时,鼓励学生勇于尝试,比较分析,在试验与比较中找出更优的方案。对于学生基础好、程序量少的情况,可以让学生自主探究多种方法;学生基础一般、程序量大的情况,可以分组探究,对照分析,得出结论。在实践操作中,学生发现虽然吸盘和爪子都可以拿取货物,但到底哪种方法更适合、更高效呢?吸盘对货物放置的坐标要求很精确,稍有偏差就不容易吸住,爪子在这方面的要求则比较低,作用范围较大,且吸盘对货物的重量也有一定要求,只能吸取较轻的物体,重一点的很难吸取,在现实中不实用。货物识别可以采用图像识别和颜色识别两种方式,哪种方式效果好、准确率高呢?图像识别对货物摆放角度要求较高,换个角度很可能识别不准,可以在学习时录入多个角度的图像以提高准确率。颜色识别受背景颜色、环境光线等影响较大,需要多次学习背景图像,最好采用纯色背景,环境光线最好维持稳定,避开靠窗位置,或补充固定光源。
即便是教师直接告诉学生会遇到哪些问题,使用哪种方法较好,学生如果只是停留在“听”的阶段,并没有亲身体验,也难以真正地理解。而学生在实践摸索中发现、对比,会受到视觉、听觉、认知等多方面的冲击,直观形象,印象深刻。如机器抓取货物时,移动到货物上方,设置为抓取状态接着直接运动的话,很可能爪子还没抓稳货物就开始运动,会导致抓取失败或途中掉落,这是因为忽略了爪子状态变化所需的时间。因此运动前可以设置1~2秒停留时间,确保抓好货物后才开始运动。再如机器放下货物时的高度,即纵坐标的位置,如果高度太高,货物掉落很可能会翻倒甚至弹出指定区域,如果高度太低,货物已接触到地面而机器还在向下运动,可能会损坏货物或导致机器发生故障,造成不必要的损失。因此,教师要注意适时、适量地讲,有时“少言胜多言”。
5.评价反思,优化解决方案
评价有利于学生全面地认识自己的学习成果,了解其他同学的思想,互相学习,及时反思,不断提高。反思包括两个方面:一是对项目成果的反思,是否很好地完成了项目要求,有哪些可以提升的地方等;二是对项目本身的反思,对项目主题展开思考与讨论,培养学生的思维能力与社会责任感,不能为了完成任务而完成任务。
这一阶段先让学生汇报展示自己或小组的项目成果,介绍程序设计思路与框架,重点介绍创意设计、遇到的问题与困难、解决方法等,其他学生认真观察。比较程序的正确性(准确完成任务要求)、高效性(运行时间较少)、简洁性(代码精简结构清晰)、创新性(有独特的设计)、人性化(用户体验良好)等方面。除此之外,引导学生思考自己设计的程序和真正投入使用的程序存在哪些差距?如果将小程序应用到现实中可能会遇到哪些问题?如货物的形状、大小不一,怎样抓取不损坏货物?还有哪些方式可以移动货物到指定位置,图像识别和颜色识别哪个更准确、高效?如何设置货物的摆放方式?如果在入库前仓库里已有部分货物怎么办?如何添加模块实现入库完成后反馈总结入库货物种类及数量的报告?要求根据学生实际情况,设计问题讨论,选择部分问题改进程序进行解决。
引导学生结合项目学习体会展开专题讨论,如这项技术除了智能入库,还可以应用到哪些场景中?智能入库和人工入库各自的优势与弊端?如果你是相关运营管理人员,你会选择哪种入库方式,为什么?对于智能入库机器人取代人工入库工作者,将有一部分人面临失业的问题,你有什么看法?智能入库机器人可能会带来哪些新的就业机会?这些讨论有利于拓展学生的思维,促进知识迁移,树立正确的技术观,增强社会责任感。
小 结
人工智能应用到教学中,充分利用编程软件、AI平台让学生了解、体验、应用人工智能,从理论到实践,从看、听、说,到练、试、做,让学生在编程中感受人工智能的神奇魅力與强大功能,逐渐提升人工智能素养。人工智能+教育不仅仅指编程教学,还包括人工智能理论、关键技术、法律法规、发展趋势等,这些内容如何在教学中开展,教师应具备哪些人工智能素养和能力,还需进一步的研究与探索。
参考文献
马秀麟,刘静静,范晨雨. 教育人工智能发展状况分析及趋势思考[J].中国教育信息化,2020(13): 1-7.
王长华. 中小学人工智能教育存在的问题与对策[J]. 中小学信息技术教育,2020(10): 63-65.
作者单位:江苏太仓高级中学