案例 解决问题的一般过程和用计算机解决问题
1. 《课程标准》要求
通过解决实际问题,体验程序设计的基本流程。
2. 教学目标
·通过对出行打车过程的调查对比,体验问题解决方式的多样性,了解信息化手段的便捷。(信息意识)
·通过对交通疏导问题的思考与探究,体会人工解决问题与计算机解决问题的过程与区别,了解用计算机解决问题的优势。(计算思维、信息意识)
·经历用计算机解决问题的过程,利用Python语言仿写程序,模拟交通信号灯的实现,有助于激发学习算法与程序设计的兴趣,发展计算思维。(计算思维)
3. 学业要求
掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题。
4. 教学对象分析
高一年级学生具备一定的生活常识,有一定的自主学习能力与意识,能够对身边的一些简单问题进行分析,并能够根据个人经验解决问题,通过调查分析讨论,能够形成一个较为完整的解决方案。初中阶段Python语言的学习,为学生高中阶段的学习奠定了基础,使学生具备一定的程序读写能力,这有助于本节课的学习。
5. 教学重点与难点
教学重点:用计算机解决问题的过程。
教学难点:利用计算机解决实际问题。
6. 教学方法与教学手段
通过问卷调查的方式,将学生的生活体验进行对比分析,使学生能够直观地体会问题解决方式的多样性。
通过讲授学习,使学生对本节课的学习内容有一个清晰的认识,能够进一步了解本节课的教学重点。
通过小组实践活动,使学生亲历用计算机解决问题的过程,培养学生的合作意识,帮助学生体验利用计算机解决实际问题,以此突破教学难点。
将“编程控灯利出行”项目的实施过程融入教学活动中,在课堂教学中完成简单的项目问题需求分析,并在教师引导下,分组进行问题解决方案的设计,使学生能够对一个简单项目的实现有一个初步的认识。课后拓展环节给予学生更广阔的舞台,学有余力的同学可以进行更深层次的设计。
7. 教学过程设计
教学环节
教学内容
学生活动
设计意图
情境导入
1. 思考交通警察是如何指挥交通的,请同学们描述交通警察为保证道路畅通进行交通疏导的一般过程和方法。
2. 课件展示交警指挥交通的过程,并总结人工解决问题的过程。
3. 提出问题:在实际生活中,每个路口都安排一名交通警察可以吗?有没有更恰当的解决路口交通指挥问题的方式
讨论交流
聆听思考
归纳梳理
思考回答
通过对身边问题的分析,了解人工解决问题的过程,以及解决实际问题的过程中会用到的方法和手段,培养学生将学到的知识应用于解决实际问题的意识
用计算机控制信号灯
1. 课件演示用计算机解决问题的优势。
2. 初步认识用计算机控制信号灯的过程。
(1)提出问题:如何用计算机实现信号灯的变化呢?如红灯变绿灯的过程。
(2)给出教科书教学资源平台中的“红灯变绿灯.py”程序,并运行让学生观察效果。
(3)提出进一步思考的问题:交警指挥交通的过程与用计算机编程解决问题的过程,两者有何不同?
提示:利用程序解决实际问题,需要逐步实现,后面的学习中会详细介绍。
3. 课件演示用计算机解决问题的过程,教师归纳:用计算机编程解决问题,需要对问题进行分析,明确问题的目标和条件等,并将问题进行抽象,通过建模或列表的方式,界定和描述问题
聆听
观察
思考回答
通过对计算机程序的初步认识,了解编程解决问题的便利,同时了解编程解决问题的过程需要详细到每一个操作步骤,要让计算机知道要做什么。培养学生的计算思维
设计人性化交通信号灯
1. 提出问题:现在智能交通已经应用于现实生活中,有了计算机的帮助,很多路口信号灯的变化可以做到更加合理。如何设计一个合理的信号灯呢?
2. 实践活动1:两人一组,讨论分析学校或者自家周边某个路口的交通信号灯的变化情况,分析信号灯变化的过程、信号灯亮灯时长与这个路口的交通状况有何关系。完成学案中的交通信号灯项目需求分析表(表1)
聆听思考
交流讨论
合作填表
通过小组探究活动,学生能够依据实际问题进行问题分析,认识到问题分析对设计过程的重要性。对于任何问题的解决,发现问题与分析问题永远是最重要的一环,这一环节影响到后续设计方案的实现。通过这样的活动培养学生从实际生活中发现问题并解决问题的能力
1. 教师讲解:用计算机编程解决问题的关键环节是设计方案,好的方案有助于问题的有序解决。在利用计算机解决问题的过程中,需进行问题分解,即“大事化小”“分而治之”。
2. 实践活动2:设计方案。
(1)根据前面的分析,请将交通信号灯实现的过程分解成合理的功能。比如,红灯变绿灯可分为三个功能(即红灯亮,红灯持续显示,绿灯亮)。
(2)完成项目功能分解,画出分解图
3. 教师讲解:设计方案完成后,就可以用程序实现了。程序是一组可以执行的计算机指令。程序设计语言经历了从机器语言、汇编语言到高级语言的发展历程。高级语言的出现为计算机的应用开辟了广阔的前景。今天,我们来用Python语言实现我们的设计
聆听
讨论分析
绘图
将需求分析变为功能分解图,使学生对问题有更清晰的认识,能够为后面程序的编写梳理一个完整的思路,也培养了学生的计算思维。
通过读程序的过程,学生能够了解高级语言的可读性;通过改写程序的过程,学生能够初步掌握程序编写的过程
设计人性化交通信号灯
4. 教师演示:程序编写的过程与程序调试的过程
5. 实践活动3:编程实现。
运行教学资源平台提供的Python程序“红灯变绿灯.py”,阅读程序代码,参照注释语句分析程序功能,根据上面完成的项目功能分解图完成程序的实现,并思考如何实现信号灯持续时长的改变(如红灯亮30 s)
观看演示
阅读程序
调试运行
通过程序的调试,学生能够了解在程序编写过程中经常会遇到的错误提示,培养学生养成良好的编程习惯。学生改写程序的过程也是培养学生计算思维的过程
展示
评价
选择几位同学展示本小组成果,介绍本组的项目分析、功能分解与编程实现的结果
展示
评价
培养学生发现他人优点与闪光点并向其他设计比较好的同学学习的能力,培养学生主动学习的精神,培养学生竞争的精神,培养学生勇于展示自己的精神
小结与拓展
总结人工解决问题与用计算机解决问题的过程,展示一个更人性化的交通信号灯的设计,提示学生可以根据现在人们对交通的需求来设计更人性化的交通信号灯,课下有时间,可以进行更深入的交通信号灯设计,实现智慧交通
归纳梳理
思考
通过总结,使学生形成总结学习成果的习惯。同时布置拓展任务,使学有余力的学生能够进行更深入的学习与设计
学案
表1 交通信号灯项目需求分析
信号灯
初始状态
信号灯
中间状态
信号灯
终止状态
其他补充
交通情况
介绍
红灯亮
持续30 s
绿灯亮
根据车流量控制亮灯时间(或者控制灯的变化)
分析交通状况与信号灯时间设置的关联