“小程序+AI”课程设计与实践
2021-10-20段晨
段晨
【摘 要】本文介绍如何在高中设计并实践关于“小程序+AI”的原创校本课程的过程。引入当今流行的小程序开发,并基于游戏思维设计课程。用小程序作为载体来学习Web前后端开发知识,并与人工智能技术结合,鼓励学生开发应用程序解决生活中遇到的实际问题,加强学生信息技术的学科核心素养,培养创新精神。
【关键词】游戏思维;小程序;人工智能;课程开发
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2021)010-066-03
2017年7月,国务院印发的《新一代人工智能发展规划》提出要在中小学阶段设置人工智能相关课程。因此,如何设计人工智能课程、以何种开发技术作为载体、如何提升学生的核心素养等课题都亟待探索和实践。而同样是2017年,腾讯推出了微信小程序,拉开了小程序这种混合开发模式在国内的技术风潮。经过几年的发展成熟,小程序已经成为国内各大互联网企业炙手可热的开发模式。
当前人工智能和编程教育往往基于Python语言开展教学,但Python作为脚本语言并不像网页那样可以便捷地绘制界面(并不直观)。同时现在许多人工智能课程偏重概念和理论介绍但忽略有实用价值的人工智能应用实践。本文以学校校本课程“小程序+AI从青铜到黄金”为例,分析如何将时兴的小程序开发和人工智能教育主题相结合,在高中开设一门校本课程。通过学习这门课程让高中生不仅能够掌握学科核心素养,更为他们今后职业规划提供参考、创新创业提供帮助。
用游戏思维来设计原创课程
2019年1月,我们开始构思这门课程时,遇到的难题就是如何系统化讲解小程序开发的知识结构。对于中学生来说,在信息技术课程标准中对Web标准的介绍只是泛泛而谈,浅尝辄止。因此学习小程序的门槛就转换成了先要循序渐进地学会Web标准开发技术。如何才能让整个学习过程变得引人入胜而不枯燥呢?
在缺乏适合中学生学习小程序的教学用例的前提下,我们构思用游戏思维来开发原创课程。首先想到的就是知名手游“王者荣耀”,该游戏开发商借用了心理学家斯金纳的强化学习理论,让玩家通过不断地胜利积累荣誉。这个构成正反馈的奖励机制就是王者里的段位概念,在游戏中玩家通过从“青铜”打到“王者”升级段位的过程来获得成就感。
他山之石可以攻玉,我们比照游戏里的段位设定,按照难易程度和知识脉络,将一个个知识点以任务形式布置在对应的段位上。我们将整个小程序开发学习流程解构为三大段位(青铜、白银、黄金),分别对应了Web基础知识、小程序基础组件入门、“小程序+人工智能”应用内容。作为一个高中小程序入门课程,教学目标是激发兴趣和鼓励创新,所以未涉及如云开发、数据库等进阶内容。
具体到每个段位我们又设置细分小等级,正好匹配到每课时,让每次教学活动都像游戏升级装备那样有趣。而每课时的详细设计,则采用了PBL(项目式学习方法)模式,每次课指定一个具体项目需求,提供原创的在线学习文档。学生在教师引导下自主完成。如讲到Web开发技术,课程布置一个设计三国人物介绍主页的任务;讲到小程序的滑块和按钮组件,课程布置了一个设计随机抽号的小程序任务。
完整的课程结构设计有青铜篇: 第1课时什么是小程序?小程序架构介绍;第2课时Web起源;第3课时三国人物网页—— Web开发标准(青铜I);第4课时动态交互网页—— 结合Javascript(青铜II)。白银篇:第5课时微信小程序开发流程和环境介绍;第6课时生命计算器—— 介绍基本UI组件和数据绑定等逻辑代码要点(白银I);第7课时抽号神器—— 随机函数和滑块(白银II);第8课时历史上的今天—— 选择器和API(白银III);第9课时定制地图—— 地图和画布组件(白银IV)。黄金篇:第10课时基于百度AI的图像识别小程序应用(黄金I);第11课时基于腾讯AI的风格迁移漫画的小程序应用或应用自主训练的AI模型;第12-15课时自选主题以二人小组模式完成一个项目作品(黄金II)。
课例展示:基于百度AI的图像识别小程序的教学设计与实践
1.学生学情分析
通过之前九课时基础内容的铺垫,学生已经具备了一定的小程序开发能力,能够绘制前端界面并编写代码逻辑。但是中学生毕竟没有接受过系统化的编程学习,很难独立开发出具有实际价值的应用。幸运的是,我们处在互联网技术突飞猛进的时代。如今开发者可以借助互联网推出的人工智能API(应用程序接口),不用自己花钱租用配置高性能GPU(显卡)的服务器去训练AI模型。学生开发的小程序联网就能调用AI接口轻松实现AI赋能,完成一个比较完整有使用价值的小程序开发。
2.关键教學难点解析
如何调用API接口。以百度AI平台为例,想要获得图像识别的功能,就需要在平台上注册获取专属的ID和Key,然后基于平台的API接口通过凭证,再配合安装百度AI的SDK(开发工具包)提供的图像识别相关函数方法。向平台发出API请求,平台以JSON形式返回识别数据作为效果。API、SDK和JSON三者关系可以比喻为车钥匙、方向盘和汽车。
3.教学内容分析
我们选择图像识别作为具体的人工智能教学用例切入,因为图像识别是人工智能中极具代表性的典型应用,现有机房教学条件下的学生一体机就足够使用。而百度恰恰提供可以免费使用的图像识别API,教师在百度AI的官网注册账号申请一个图像识别功能Key,学生需要通过教师给的开发文档进行程序构建。学生需要完成三个关键环节:(1)获取百度AI的凭证函数(用教师注册的Key);(2)选择图片并按base64编码图片数据上传给百度AI进行图像判断;(3)处理百度AI返回的JSON数据结果,用字典方式根据键值提取识别内容。具体的实现方法,可以参考教师编写的技术文档(https://gitee.com/ClassStudio/miniprogram20211/tree/master/黄金篇I-AI猜图游戏)。
4.教学活动设计
(1)引入任务。教师首先向学生展示一款基于Python开发的识别动植物的小游戏—— AI识种游戏。学生可以用他们收集的校园内的植物图片进行测试提交图片后程序会给出三个可能品种。学生根据自己的判断进行选择,游戏给出判断结果。在游戏过程中,教师引出主题:能不能用小程序设计AI识种游戏,实现图像识别和物种判断。让学生思考如何用小程序来实现类似功能,需要哪些技术和知识储备。教师通过随机抽号点名和小组讨论方式来提高学生的参与度。
(2)介绍新知。让学生用人类识别动植物的过程理解AI图像识别。强调图像识别是对识别物体种类判断的推测,图像识别的结果是可能性,不是百分百准确的。教师演示用百度AI的接口调用过程,通过图像识别返回的多个可能结果,来向学生解释图像识别的原理。
(3)動手实践。界面设计方面,引导学生自己绘制界面元素(包括按钮、视图、布局等)。代码实现方面,给出小程序中调用百度AI的说明文档,让学生自学实现调用过程。基础层次,由学生跟随教师演示完成基本的植物图像识别效果,实现植物图片物种识别,给出三种可能性。而探究层次,将三种可能性变成按钮选项,探究使用混淆算法完成选项混排。本环节的实践过程中,学生通过查阅官方开发文档和教师给出的演示视频,提高了数字化学习能力。同时,学生能从提出问题、分析问题、编程实践的过程培养计算思维素养。
总结与反思
课程的完成项目作品阶段,我们设计学生自主分组和选题,强调组织能力和有效的分工协作。如一位学生界面画得漂亮,就可以负责美工部分;另一位学生擅长逻辑思维则负责代码编程。经过3~4次课时的准备,最后一次课由每组学生上来演示,锻炼学生的口头表达能力。最终每组学生都参与网络票选打分,选出本学期的最佳小程序应用。课程评价中平时作业和期末小组选题项目作品各占50%。
本课程的亮点在于借助小程序带来的便捷性和实用性,所有的小程序代码都保存在云端。由于小程序自身的特点(无须安装,扫码即开)非常适合展示和推广,每位选修过这门课程的学生,都可以随时随地扫码查看到他们之前提交过的作业,让学生有成就感。每次提交的小程序作业,经过教师内容审核把关后,集中汇总到教师注册的账号内提交代码,再由微信官方审核,通过才能进行发布。最终两年来累计提交了120多个学生作品(https://gitee.com/ClassStudio/miniprogram20211)。
小程序和人工智能教育的结合,将小程序作为前端,提供直观的界面,而人工智能作为后端,提供算力和数据,实现AI赋能来解决实际问题。这门原创校本课程,让学生能掌握小程序的开发方式,鼓励他们开发应用以解决生活中遇到的实际问题,加强学生学科核心素养,培养创新精神。未来,学生参加中学阶段的研究性学习、翱翔计划、创客活动,乃至大学毕业设计都可以活用小程序技术。
正所谓教学相长,这门课程也让教师的学科专业能力得到了极大提升。教师对信息技术和人工智能教育有了更深入的体会,也更了解学生的学习需求。未来我们将拓展小程序的教学应用场景,将这门小程序课程与生物、数学、语文、地理等学科结合,发挥其更大的价值。
注:本文系北京市区级课题“探索自研小程序促进中学学科教学”阶段性成果
参考文献
王勋.“微信小程序开发”课程构建与教学实践[J]. 计算机时代,2018(3).
周文洁. 微信小程序开发零基础入门[M]. 北京:清华大学出版社,2019.
韩思瑶.《人工智能初步》模块的项目式教学实践——以“AI助力垃圾分类”单元为例[J]. 中小学信息技术教育,2021(1) .