从科技奥秘到智能生活的编程项目学习

    沈建国

    

    

    今天的编程教学,不再是单纯地学计算机语言的语法结构,也不再是按部就班地从变量、常量到数据类型一点点剥皮式地学习了,而是基于算法设计、计算思维的信息科技探究、体验、应用式地学习,本期解码让我们从两节赛课设计探讨编程教与学的策略与实施。

    《做出判断的分支》是教科版《信息技术》必修1(数据与计算)第二单元《编程计算》第二节的内容。教材围绕“最适宜运动心率计算器”项目,介绍了输入输出语句、赋值语句以及分支结构等知识。笔者遵循“以解决现实问题为出发点设计教学内容,在知识应用中培养学生核心素养”的原则,结合当下人工智能应用中有大量程序设计知识的特点,选择“天猫精灵”案例开展项目式教学。

    ● 学情分析

    本节课授课对象为高一年级学生,他们已具备一定的信息技术基础,对应用类知识兴趣浓厚,渴望趣味性、实用性的课堂,但缺少程序设计的能力,对信息技术知识类的学习缺乏兴趣。

    ● 教学目标

    ①理解分支结构的基本功能,掌握分支结构的设计方法;②结合生活经验和天猫精灵应用实践,设计相关应用场景,并通过程序模拟实现;③了解分支结构算法思想在生活中的应用,形成关注信息技术应用的意识和习惯。

    ● 教学重难点

    重点:理解多分支语句的结构特点。

    难点:结合生活中的具体问题,设计合理的分支结构程序以满足应用需求。

    ● 教学时长

    2课时。

    ● 教学环境

    硬件环境:网络机房、可远程联网控制的天猫精灵及网络摄像头设备组合。软件环境:Python3.8。教学素材:课件、天猫精灵应用场景视频。

    ● 教学过程

    1.情境引入

    教师播放天猫精灵视频,视频包含三个功能场景:①天气闹钟功能:您6点35分的闹钟即将播报天气、温度等信息。②语音唤醒功能。③整点报时功能:主人,现在是早上7点整;主人,现在是晚上9点整……

    设计意图:每个学生对天猫精灵的关注和了解情况各不相同,通过录制家中的天猫精灵应用的视频,既给学生一种真实感,又使所有学生对天猫精灵有基本认识。

    教师再呈现天猫精灵和网络摄像头在同一画面场景中的图片并介绍:安装了网络摄像头APP的手机具有语音对讲功能,可以远程语音控制天猫精灵。找两位学生现场体验。进一步提问:天猫精灵的语音是事先录制好的吗?它是如何实现语音播放的?

    设计意图:网络设备的使用,让学生真切体会物联网时代信息化产品的创新应用。通过手机APP控制天猫精灵,实现教师与学生、学生与设备的多重互动,增强学生的参与感,引出学习主题。

    教师呈现天猫精灵应用场景的文字信息,学生填空,引导学生发现:天猫精灵语音中有的内容是变化的,有的内容固定不变。引出变量的概念,即可以变化的量,可以是文本,也可以是数字。

    设计意图:填空的内容属于学科外知识,没有难度,意在学生参与;变量的概念是结合具体实例进行口语化描述的,并不具有精准性,但便于学生理解,学生更易接受。

    说明后续项目活动的规则:“天猫精灵”是在语音输入、输出基础上进行的。为了便于计算机程序模拟,将语音对话转换为文字的输入输出,模拟“天猫精灵”的功能。

    2.活动1.1:模拟“天气闹钟”功能

    ①实现效果:屏幕显示播报文字。②知识技能:了解print()、input()函数及赋值语句的简单应用。结合变量的知识,将变量赋值后输出(如图1)。③学生实践要求:分别运行这三个程序文件,体验三个程序的应用特点;在三个程序文件基础上尝试修改代码,并调试运行。

    设计意图:借助“在屏幕上显示文字”应用场景,通过逐步增加功能,分别体现print()、赋值语句、input()的效果。学生程序设计的基础较弱,为体现高中信息技术重在培养学生计算思维、弱化编程技能培训,让学生在原有代码的基础上进行“修修补补”式的替换更改,降低学习难度,最大程度地保持学生的学习热情。

    3.活动1.2:模拟“唤醒”功能

    ①实现效果:若输入“天猫精灵”,则输出“你好,主人!”。②知识技能:if语句、代码缩进、==(关系运算符)。③学生实践要求:同活动1.1。

    设计意图:介绍简单的if语句,为后续多分支结构语句学习做铺垫。

    4.活动1.3:模拟“整点报时”功能1

    ①实现效果:在早7点至晚9点间开启整点报时,其余时间段关闭(如图2)。②知识技能:if...else...语句。③学生实践要求:同活动1.1。

    设计意图:让学生了解整点报时功能在某一时间段才适宜使用,体现人工智能“人性化”的设计理念。

    5.拓展任务

    计算机能够准确、不知疲倦地获取网络时间,提高工作效率。如下页图3所示程序能自动获取网络时间。

    设计意图:拓展任务将手动输入时间改为自动获取时间,供学有余力的学生探索。

    6.活动1.4:模拟“整点报时”功能2

    ①实现效果:早7点至晚9点间准点报时(如下页图4)。②知识技能:代码结构化表达,if...elif...else...。

    ③学生实践要求:同活动1.1。

    设计意图:前两个活动主要介绍了if、if...else语句的应用,在本活动中没有直接呈现if...elif...else...语句,而是从“如果…就…”“如果…就…”的实际生活思维入手,先使用了多个if语句实现效果。继而在比较中发现代码结构的不足,再引出多分支结构,使学习活动更接近真实的思维过程。

    7.知識小结

    将双分支结构和多分支结构语句进行比较,强化学生对分支结构的认识。结合程序对应的流程图,让学生了解流程图的运行过程。

    设计意图:程序设计教学一般先介绍流程图,再介绍代码。由于此段程序结构简单,结合生活应用学生也易于理解,所以设计时是反过来先程序代码再流程图,进行流程图的学习。

    8.探索应用

    ①在探讨天猫精灵运行原理的基础上,学生以小组为单位,围绕天猫精灵功能开展头脑风暴,发掘更多应用,设计程序模拟实现。②参考案例1:天气高温预警——红色:40度以上;橙色:37度以上;黄色:35度以上。参考案例2:空气质量指数AQI——优:AQI≤50;良:AQI300。其他案例如穿衣指数提示等。鼓励学生深入研讨,呈现创意应用作品。③学生实践要求:结合评价表开展小组协作学习。

    设计意图:项目围绕真实任务开展,学生在实践过程中培养计算思维。教师提供的部分案例可以活化学生思维,引发学生的创意思考;没有创意的学生根据教师提供的案例进行程序模拟实现,使所有学生都能够参与到活动中。项目评价表能够引导学生开展活动,提高团体学习效率。

    9.总结提升

    引导学生由天猫精灵项目扩展到对更多智能设备的关注,关注其基本工作逻辑,用程序设计的思维去认识它们。

    设计意图:“学习是为了更好地生活”,引导学生将学习到的知识和生活实践结合,形成利用程序设计知识分析生活中智能化应用设备的意识和习惯。