软硬件结合学编程
2021-10-18野雪莲
野雪莲
随着《新一代人工智能发展规划》的发布,人工智能成为了我国战略发展的一项重要内容,人工智能的教育应用自然也成为教育领域关注的重点。2017年新修订的《普通高中信息技术课程标准》在必修课程中有机融入了人工智能基础知识,在选择性必修课程中设置了“人工智能初步”模块,要求学生通过学习,了解人工智能的发展历程及概念,能描述典型人工智能算法的实现过程,通过搭建简单的人工智能应用模块,亲历设计与实现简单智能系统的基本过程与方法,增强利用智能技术服务人类发展的责任感。
在纯软件代码编程的基础上配合增加开源硬件,即可实现在教育领域让学生切身体验、模拟甚至创新看似高深的人工智能应用。智能家居作为人工智能的一个典型应用领域之一,是离学生的学习和生活最近的应用领域。从这个角度切入开展教学,可实现学生对智能家居的可见、可用、可模拟、可创造。以此为指引,我在高一年级的信息技术课程中设计实施了“Python与智能生活”单元。
整个单元借助micro:bit开源硬件与Python编程语言,围绕几个生活中常见的智能效果,让学生经历用编程解决问题的基本过程,学会通过编程实现目标需求的一般过程和方法,从而提高根据实际需要选择合适的数字化工具及技术解决问题的信息意识,锻炼用编程语言实现问题解决的计算思维能力。具体有如下3个主题。
·主题1:入户欢迎效果带学生认识开源硬件套件中的micro:bit单片机及温湿度传感器,学习顺序结构,并梳理出解决问题的“编程三步法”。
·主题2:无线通信课题融合了分支结构、列表与随机数的Python编程知识,以及硬件的按钮、声音、显示等内容,在编程实现功能的过程中巩固解决问题的编程三步法。
·主题3:流量统计工具将“家居”拓宽为“社会生活”,要求学生应用编程三步法实现效果,在过程中学习循环结构,巩固列表和随机数的使用,认识光敏电阻、OLED显示屏等硬件设备,拓展学生对智能生活的认知。
这3个主题从简单到复杂,以智能生活的真实场景为背景,以编程三大结构为主线,以开源硬件为实现抓手,学生通过问题分析及效果观察,在实际应用中深入理解三大控制结构及相关Python知识,掌握编程解决问题的步骤与方法,切实感受程序设计与当今智能生活的紧密关系。
以主题2“无线通信”的第1节课时为例,课程内容以巩固编程解决问题的一般过程及方法——编程三步法为主线,以分支结构、多分支结构中的分支逻辑关系、列表、随机等Python知识和无线收发消息的硬件控制命令为抓手,带领学生借助micro:bit的无线通信功能,通过发送端和接收端2种角色共同协作,实现消息的发送、接收及相应的控制效果。在此过程中达成以下学习目标。
·通过实现发送端与接收端之间的无线通信,深入感受编程三步法“分析需求确定结构实现功能”的过程,理解运用编程解决实际问题的方法,提升用计算机编程求解问题的意识和能力。
·掌握分支结构的含义和使用方法,能够使用micro:bit的无线功能及按钮操作,实现发送端或接收端的相应功能。
·了解Python中列表及随机数的含义和使用方法。
具体教学设计如下文所述。环节1:回顾与引入
教师活动
·我们从以往的活动中总结出了编程三步法:根据需求,分析问题;理清流程,确定结构;对应代码,实现功能。今天应用这个方法探索物联网中的无线通信。
·很多同学有过用手机操控家中智能设备的经历,比如用手机选择一种生活模式,如深夜模式、娱乐模式或者日常模式,智能设备能够按照选择作出反应。
·在这个过程中,可以很清晰地分析出2个参与活动的角色——发送端要识别用户的选择,然后发送出去;接收端要接收消息指令,然后作出反应。
·使用micro:bit就可以模拟这种效果,图2为展示效果。
·我们要编程实现这种效果,可以按照编程三步法一步步进行。
学生活动
·回顾编程三步法。
·结合生活实际,理解用户操控手中的设备选择生活模式,智能设备接收到指定模式作出反应这一功能需求。
·从中提炼出发送端与接收端2个角色,以及两端分别做的事情,进而知道无线通信中发送与接收的过程。
·观看视频,加深对无线通信过程的理解。
设计意图
回顾编程三步法,以此作为本节课的学习主线,带领学生快速进入主题,从实际应用的角度出发,结合自身经历和功能描述,理解无线通信的发送与接收过程,通过视频演示加深对这一效果的认知,为后续三步法中的第一步作好铺垫。
环节2:问题解决过程分析
教师活动
结合编程三步法,分析问题解决过程。
·根据需求,分析问题。详细分析发送端的具体工作过程,按照接收、判斷、执行的过程,将其梳理为流程图逐步呈现(图3)。①选择:用户按键选择;②判断:判断选择了哪种模式;⑨发送:发送相应模式的指令消息。
详细分析接收端的具体工作过程,将这一过程梳理为流程图的方式呈现(图4)。①接收:接收发送端的模式消息;②判断:判断收到的是哪种模式;③执行:执行该模式的效果。
·理清流程,确定结构。对照流程图,讲解多分支结构。像这样有判断条件,并且不同的判断结果执行不同的命令,是一种分支结构,有多个判断条件即为多分支结构。
·对应代码,实现功能。现在已经完成了编程三步法的前两步,接下来分别对应按钮操作、音乐播放、多分支、发送及接收消息的语句命令就可以完成编程了。
学生活动
·结合教师讲解和发送端的工作过程描述,观察逐步呈现的流程图,明晰发送端的详细工作流程。
·结合接收端的工作过程描述和流程图,明晰发送端的详细工作流程。
·学习分支结构,通过教师讲解,理清多分支结构中的分支逻辑关系。
·借助对这个实际问题的分析过程,深入感受用编程解决实际问题的编程三步法。
设计意图
使用编程三步法进行发送端和接收端的功能分析、结构梳理,让学生结合实例充分体会运用编程三步法解决实际问题,并根据实际功能基本理解分支结构及多分支之间的逻辑关系,同时给学生留有一定的空间进行自主思考与探究实践,感受编程解决实际需求的乐趣。