赵惠美 华东师范大学硕士研究生,南京师范大学附属中学信息技术教师,曾指导学生参加江苏省南京市中小学创客大赛、参与省规划课题下的教学展示活动,主要研究方向为中小学的教育测评、中小学跨学科融合课程。
教学背景
在新课程改革背景下,互联网、物联网、人工智能等技术逐步进入中小学信息技术课堂。国务院在《新一代人工智能发展规划》中提出,要在中小学阶段逐步推广编程教育、开设人工智能相关课程。因此,本节课借助可视化编程工具Inventor以及编程模块的知识体系,通过调用互联网的应用程序开发接口网络通信技术,让学习者主动参与到问题解决中去,从而培养学生的计算思维能力。
学情分析
教学对象为七年级学生,该阶段的学生能够使用互联网搜索、筛选、管理特定的数据和资源,具备完成本次项目组件设计的实践能力。同时,他们正处于皮亚杰认知发展阶段的形式运算阶段,具备抽象逻辑思维能力、理解程序语言的基础思维能力,喜欢动手实践,好奇心强烈。因此,本节课根据学生的性格以及认知特点,以学生实践操作为主,并在教师的引导下进行强化提升。
教学目标
信息意识 学会使用专业机构发布的应用程序编程接口(API)搭建自己的软件。
计算思维 通过编写流程图和完成程序设计,理解各个编程模块实现的功能。学会数字化学习与创新,培养利用信息化工具解决问题的意识。
信息社会责任 学习设计对用户友好的软件使用界面,理解广大用户的使用需求。
教学重点与难点
教学重点 掌握使用Web客户端组件访问网络服务的方法,利用API进行软件开发。
教学难点 利用API进行软件开发,理解JSON数据解析的方法。
教学过程
一、创设情境,提出任务
师:在参观南京博物院的时候,游客可以通过“扫一扫”展品区二维码获取展览物品的相关信息,那我们能不能设计开发一个App,在旅游的时候实现每输入一个景点,即可获取到该景点的相关介绍呢?同学们想一想该App可搜索的景区信息来源于哪里呢?
教师邀请学生分享个人观点。有学生可能会回答景区信息来源是自己编写的景区信息、小型数据库、引用其他网页的信息等,教师进而导入本节课用到的新工具——Web客户端。
设计意图:以“我的旅游助手”为主题,引导学生进行头脑风暴,思考开发旅游助手App需要的功能以及原理,激发学生的好奇心,提升学习内驱力。
二、统筹设计,搭建程序
1.组件设计
师:很多同学的想法非常独特,但仅仅依靠天马行空的想法是不够的,为了实现这些功能我们需要用到哪些组件呢?
教师引导学生分析讨论旅游助手App的界面功能,让学生明确组件设计和逻辑设计之间的关系和作用。学生登录http://app.gzjkw.net/,拖动组件面板对应的工具并调整相关属性设计App界面,完成界面设计,教师巡视指导。
师:并非所有的软件都需要开发者从零开始构建,学会使用工具有时候能达到事半功倍的效果,Web客户端组件可以调取发布在网络的应用程序编程接口(API),我们只需要按照网络API的访问规则就可以实现所需要的功能,进而集成自己的软件。(组件参考下表和图1)
设计意图:学生对按钮、标签、文本输入框等基本组件的功能比较熟悉,教师通过提供教学支架,贴合学生的最近发展区,帮助学生理解Web客户端的基本功能模块以及实现原理,突破教学难点。
2.逻辑设计
完成组件设计后,单击右上角的“逻辑设计”按钮开始编写程序,编写的程序主要是调取景区数据库。本项目选取天行数据接口(服务请求处理如图2所示),学生可通过在线学习平台观看教师录制好的微课,了解该平台的接口信息以及数据返回格式。
师:搭建好基础界面之后,接下来请同学们实现按钮点击事件,完成发出数据请求,并在文本框中显示在Web端接收到的数据。
设计意图:使用Web客户端组件访问API的难点就是设置请求指令,有些API只需要设置网址,有的还需要设置请求头。本环节主要是引导学生测试是否能够访问API接口数据,并在移动端显示。作品编程过程中分段编写,便于及时检测代码正误。
师:输入的信息不要过于杂乱,只需要显示列表中的内容部分即可(内容显示程序如图3所示)。通过数据接口获取JSON格式的文本难以直接访问,我们通过Web客户端组件提供的“解码JOSN文本”方法,把传入的JSON格式文本变换成App Inventor更容易处理的列表格式(JSON返回示例如图4所示)。
学生小组内讨论交流,编写程序,完成对客户端获取文本的转换,并从列表中提炼出指定内容。
设计意图:编程学习最重要的是循序渐进,在不断调试中完善作品,实现设计的功能。通过拖动模块编程提取景点内容,强化学生对各个语句的理解与掌握。
三、经验分享,课堂总结
小组汇报分享展示成果(如图5),其他学生给予评价意见,共同探讨在制作过程中遇到的问题。
师:通过本节课学习的API知识,同学们可以尝试着实现个人创意的App,比如,利用图书电商数据API制作“好书推荐”App。编程知识只是学习的开始,善于观察生活,从中获取灵感,才是培养创新思维的钥匙。
设计意图:作品的展示交流环节是迭代作品的重要步骤,小组之间的反思交流不仅可以提升学生的认知水平,还能积累编程经验,为后续作品的完善提供空间。同时启发学生思维,将所学的知识迁移到新的学习阶段中。
教学反思
整堂课以开发“我的旅游助手”为主题,贴合学生生活,能充分调动学生兴趣,教师在教学难点处提供教学支架以便帮助学生深入理解。同时,课程的设置也是符合学生认知层次的,尤其是技能目标,多数学生都能合理设计App界面,还能结合文本、图像等多媒体要素优化界面。对知识性目标,大部分学生能做到初步理解代码的含义,但对Web端的事件、方法不甚了解。因此,教师可以引导学生将对知识点的理解融入到实践操作中,两者相辅相成,帮助学生逐步理解Web端调用的方法。学生的动手操作水平参差不齐,如何最大化提高小组合作的学习效率,做到互帮互助,针对不同基础的学生做到因材施教,仍是有待探讨的问题。