计算机解决问题的过程

    许薇

    

    

    ● 项目设计依据

    《普通高中信息技术课程标准(2017年版)》中提出的学科核心素养之一是“计算思维”,强调个人运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。本案例基于教育科学出版社教材《信息技术必修1:数据与计算》第2单元编程计算第1节内容,围绕“算法”概念展开,将对问题抽象或形式化描述作为算法基础,旨在让学生了解编程思想,初步建立编程解决问题的思维和方法,为过渡到本单元其他知识内容的学习做铺垫。

    ● 项目教学目标

    基于课程标准要求和内容、学情分析,本项目教学目标设定为:①了解计算机解决问题的基本步骤。②学会算法的两种表达方式;掌握算法的三种基本结构;学会利用流程图描述简单问题。③体验用编程解决实际问题,培养学生正确的信息素养观。其中,教学重点为计算机解决问题的过程、算法的描述;教学难点为算法的描述、算法的三种基本结构。

    ● 项目概述

    本项目以探究“智能晾衣架”功能为主题,通过对“智能晾衣架”功能分析、设计与实现,体验计算机解决问题的过程。在利用计算机解决智能晾衣的过程中,让学生通过自主探究、亲身体验、合作交流等方式进一步加深理解用计算机解决问题的基本过程,通过对比算法与流程图,使学生充分理解算法对程序设计的重要作用。(本节课预设为1课时)

    ● 项目教学准备

    ①硬件环境:网络机房。

    ②学习工具:python3.84。

    ③教学资源:PPT课件、Python程序、拓展阅读文档。

    ● 項目实施流程

    计算机解决问题的过程——“智能晾衣架”项目实施流程(如下图)。

    ● 项目教学过程

    1.项目引入:智能晾衣架的使用

    知识技能:分析和获取有价值的信息,迁移学习。

    活动形式:学生讨论、代表发言、教师引导。

    问题:无人在家的时候,突然下雨了,家里阳台外还晾着衣服,来不及回家收;怕会下雨衣服晾在室内,后天气晴好,又没时间回家将衣服晾至室外。若遇到这些问题,大家考虑过怎么解决吗?

    聚焦:从智能家居设备“智能晾衣架”功能得到启发,尝试通过编程实现“智能晾衣”,倡导便捷的生活方式。

    设计意图:培养学生主动关注信息技术工具发展中的新动向和新趋势,在较为复杂的信息情境中能认识到数据管理与分析对提高信息价值的重要性。

    2.项目分析

    活动1:分析问题,确定需求。

    知识技能:问题的界定与描述。

    活动要求:分析问题,明确项目要求。

    在下面环境中,如何解决晾衣问题?

    ①无人在家,下雨,衣服晾在室外;②无人在家,天气晴好,衣服晾在室内。

    学生思考讨论:是否能设计一种智能晾衣架来解决无人在家晾衣的问题?

    学生分组讨论智能晾衣架应具备的功能:选择一种功能进行项目探究。

    ①智能升降:除了保持原有自动升降衣架功能外,还可以定时;②智能烘干:可设置模式为烘干、风干等功能;③紫外线杀菌。

    设计意图:让学生明白解决问题的需求,分析已有信息,明确解决问题的方法,为后面用流程图解决问题打下基础。

    3.设计算法

    活动2:算法的概念、自然语言描述算法。

    知识技能:学会用自然语言描述解决问题的算法。

    引入算法概念:解决问题的方法和步骤。找到算法后,还需要准确、具体地将它描述出来。描述算法可以有多种方法,如可以使用自然语言进行描述。让学生分组用自然语言描述不同环境下智能感应衣架升降收缩功能的算法(①当日照充足时晾衣架自动伸展至室外;②室外空气湿度达到80%,晾衣架自动收缩归位;③室外晾晒时长超出5小时或日照不充足时,晾衣架自动收缩归位)。

    设计意图:针对不同环境需求,让学生学会用自然语言描述解决问题的步骤。

    活动3:流程图描述算法、算法结构。

    知识技能:学会用流程图描述解决问题的算法,了解算法的三种基本结构。

    活动要求:①学会用流程图描述算法。流程图也称为程序框图,它是算法的一种图形化表示方法。与自然语言相比,用流程图描述算法形象、直观,更易理解。对于一些复杂的算法,可以先用流程图描述算法,然后根据流程图写出程序代码。②掌握三种基本结构的流程图。算法的三种基本结构是顺序结构、分支结构和循环结构(教师演示三种结构的流程图执行过程)。③学生对照自然语言描述,画出下页表中智能晾衣架感应升降收缩功能相关环节的流程图。

    设计意图:针对不同场景模块,选择合适的算法结构,用流程图实现模块功能。让学生能够对常用的数字化工具与资源进行评估,根据需要合理选择算法表述。

    流程图一般不能直接在计算机上运行,这时需要使用一种计算机能理解的程序设计语言来表达算法。

    4.项目实现

    活动4:用Python语言实现智能晾衣架感应升降功能。

    知识技能:程序运行、根据算法分析理解代码。

    活动要求:①尝试运行已有Python程序,实现在室外湿度大于80%的情况下收缩衣架的功能。②尝试分析代码,找出条件表达式。③尝试根据不同情境修改其中的代码,运行程序(如根据日照是否充足来判断衣架是否收缩等)。

    设计意图:让学生体验在某一情境下用Python语句实现智能晾衣功能,让学生感受利用算法编程思想智能化解决实际问题的优势。

    针对课堂表现、程序作品等,完成评价量规表。

    5.项目总结

    知识技能:①计算机解决问题的思路;②算法的概念及基本结构;③识别生活工作模式。

    活动形式:小组讨论、学生交流、教师补充。

    活动要求:①交流活动过程中的收获与感想;②联系生活,谈谈身边还有哪些场景问题可以应用计算机解决问题的过程来设计;③教师总结,主题升华。

    设计意图:帮助学生回顾本节课内容,联系生活实际,发现身边可以应用算法思想解决问题的现象,让学生认清问题,学会知识迁移,真正做到用“算法的眼睛”看待生活,用“算法的思维”解决实际问题。

    点? 评

    高中生已有较高的知识理解能力和抽象思维能力,但对算法的概念和结构还比较陌生。本案例采用STEM项目教学理念,将学生对抽象的算法概念、结构、思想的认识与理解置于真实的项目中,将STEM项目融入整个信息技术课堂教学中。本案例基于STEM理念的项目活动来设计框架,并做了实证研究。教师在项目导入阶段,从晾晒衣服的问题入手,以真实情境调动学生的积极性,在完成项目任务的过程中,学生通过自主的真实项目程序代码分析、修改、调试掌握了专业知识,获得了实践经验,学会了协作及学科知识的综合应用,创新思维与创造能力得到提升。设计过程性评价,在项目探究环节中有效应用,并及时反馈。各小组结合评价意见撰写项目报告,并引导学生基于现有的智能晾衣架设计进行拓展,最后讨论环节,学生的创造性得到充分发挥。

    由于受传感器条件的限制,项目的真正实现还有待课程的优化与完善,以及解决方案和核心算法的成功探究。今后可结合更多的STEM课题深入研究与应用,以期更好地实施STEM教育理念下的项目教学。