《编制计算机程序解决问题——战胜丹?布朗》教学设计
一、教材与内容分析
选自普通高中信息技术实验教材《算法与程序设计》选修模块——《揭开计算机解决问题的神秘面纱》。在日常生活中,相当部分的现实问题都可以用计算机程序加以解决,以实现个性化的信息处理方式。其中,通用工具软件是针对解决某些通用问题而开发出的计算机程序,当人们需要解决的问题无法利用现成的工具软件进行信息处理时,可以利用计算机程序设计语言编写程序,再通过执行程序来解决问题。通过本节内容的学习,学生将:(1)认识计算机程序解决问题的基本工作过程;(2)初步了解计算机程序的编制环境;(3)执行并分析比较相应的程序,认识程序设计语言的基本组成元素。由于本节采用的计算机程序设计语言是VB,这是一种面向对象设计的高级语言,对于刚接触编程的学生来说会有一定的难度,但教学中应该尽量减少这种技术上带来的影响。
二、相关学情分析
1.年龄段所对应的计算思维:本节课的教学对象是高中一年级学生,具有较强的形象思维能力和理解力,知识迁移能力强,能够摆脱具体事物的限制,运用概念、提出假设,并检验假设来进行抽象逻辑思维;思维具有更强的预见性,在思维过程中已有预见性特征,即能在复杂活动或问题解决之前有计划、有策略;对思维的自我意识和监控能力显著增强,表现为不但能考虑如何解决问题,还能对自己的思维进行自我反省、自我调控,确保思维的正确性和高效率。
2.起始能力:高一年级学生已经具备了丰富的计算机使用经验,但大多数都是与常用工具软件的使用以及网络应用有关,对于计算机编程知识,他们以前可能没有学习过,但由于这个时候他们具有相当强的逻辑推理思维能力,也掌握了相关的数学知识,对于用计算机程序解决问题的了解应当不会困难。
3.学习兴趣与爱好:通过开学前的问卷调查数据分析,发现学生普遍对编写程序解决具体的问题表现出浓厚的兴趣,此外,如果用学生比较感兴趣,贴近学生日常生活的实例来引导学生学习掌握枯燥的程序设计基本原理,学生参与度会比较高。
三、教学目标与核心素养分析
1知识与技能:
认识到平常所用的工具软件是针对解决某些通用的问题而开发出的计算机程序,当人们需要解决的问题无法利用现成的工具软件进行处理的时候,可以利用计算机程序设计语言
编程程序。
(2)认识计算机程序解决问题的基本工作过程;
2过程与方法:
(1)通过对具体数学问题的分析、实践操作,总结归纳出计算机程序解决问题的原理与过程,同时了解计算机程序的编制环境以及程序设计语言的基本组成元素,提高计算思维能力。
3情感态度与价值观:
通过贴近学生生活的数学问题的解决,激发学生对编写计算机程序的学习兴趣,激发学习主动性。
四、教学重难点
1教学重点:掌握计算机程序解决问题的基本过程;
2教学难点:认识计算机程序语言的基本组成元素;
五、教学策略
本节课内容难度大、对学生要求高,需要选择有趣且贴近学生生活的实例,通过创设一定的情景来让他们对教学内容感兴趣、有进一步探究的欲望。以具体生动的问题激发学生探究的欲望,在教师的引导下,学生经历对问题的分析、算法的设计、程序的编写以及调试运行、结果的检测等计算机程序解决问题的基本过程,在实践体验过程中形成对计算机程序的初步认识。
六、教学过程
教学环节与内容
教师活动
学生活动
设计意图
课前铺垫,开门见山
信息时代,你可以不会写代码,但是绝对不能对程序一无所知。引导学生思考总结平时的学习生活中接触到的程序有哪些。总结:通用工具软件是计算机程序改造而来,那么当我们无法用现成的工具软件解决问题的时候,我们可能需要编写程序。这节课我们的学习目标是:初步认识计算机程序解决问题的基本过程并认识程序设计语言的基本组成要素。
思考回答平时的学习生活中接触到的程序有哪些。
导入新课
呈现问题,创设情境
我们来玩一个游戏,叫“战胜丹?布朗”。游戏的规则是这样的:(1)谁最后选择了“目标”里面所填写的数字,谁就输了;(2)你先选,第一次是从1、2、3中选1个。例如我选择1,那么布朗可以从2、3、4中选择一个数字,他选择之后我又会选择相应的数字;(3)所以,你每次有3个序列数字“n、n+1、n+2”可选择,丹.布朗可选的数字是你所选的数字后续3个数字。要求:希望大家两个人或三个人一组,探究下如何战胜布朗,并总结你的方法。
学生用10分钟的时间,通过合作的方式探究总结如何战胜布朗。
呈现问题并提出要求,引导学生分析具体问题并总结规律,为后面算法的设计以及程序的编写做好铺垫
分析问题,提出要求
假如目标数是18,展示从后往前推理数字选择的过程。总结规律:第1次选择的数字n=(目标数-1)mod
4;如果n=0,那么你输定了!否则以后每次要选的数字是前一次选的数字+4。要求:看来,要战胜丹.布朗也不是一件容易的事情。你能不能运用发现的规律与方法,编写一个程序,让更多的人顺利赢得游戏?编程序:针对具体的问题,运用程序设计语言编制一个专门的计算机程序来解决问题。
5分钟的时间一起总结规律
分析问题,引导学生思考规律,为后面算法的设计以及程序的编写做好铺垫
新知学习1:计算机程序解决问题的过程:分析问题。
计算机程序解决问题的过程包括:(1)分析问题(2)设计算法(3)编写程序(4)调试程序(5)检测结果对于任何一个实际问题,首先要分析该问题的需求情况及已知条件,来判断解决问题的可能性和目标要求,然后对需要解决的问题给出一个精确的描述。因此,前面的问题可以描述为:运用发现的规律与方法,根据输入的目标数,告知每一步需要输入的数字是多少,以让更多的人顺利赢得游戏。我们发现的规律有三点:(1)
第一次要选择的数
n=(目标数-1)mod
4,(n
是余数,mod
是模,求余数运算符)
(2)如果余数
n为
0,那么我只能说,你输定了!
(3)否则,以后每次要选的数就是
n+4,再加
4……,一直到目标数-1
为止。
认识计算机程序解决问题的过程,尝试描述问题
认识计算机程序解决问题的过程,认识如何分析描述问题
新知学习2:计算机程序解决问题的过程:设计算法
编程重要的是逻辑思路,确定解决问题的详细方法和步骤,即设计算法。设计算法可以用自然语言描述,也可以用流程图的形式描述,越详细越好。因此,针对以上问题,我们的算法是:(1)用户输入目标数
,保存到变量X;
(2)令变量n等于(x-1)除以4的余数,
如果n=0,输出”你输定了!”,算法结束,否则做第
3步;(3)如果n大于X-1,算法结束,否则输出
n,并做第
4步;(4)令
n=n+4,再做第
3步。
认识计算机程序解决问题的过程,尝试设计算法
认识计算机程序解决问题的过程,认识如何设计算法
新知学习3:计算机程序解决问题的过程:编写程序,认识程序的基本元素
有了清晰、可操作的算法描述,就可以选择一种程序设计语言(机器语言、汇编语言、高级语言)来编写程序,以实现算法。机器语言:二进制数1,0表示的指令集合,计算机可直接识别和执行,但用二进制代码编制的程序难学、难记、难写、难调试。汇编语言:也称符号语言,用符号和十进制数表示的语言。计算机不能直接识别和执行,需通过汇编程序翻译成机器语言。机器语言和汇编语言都是面向机器的语言,也称为低级语言。要求编程者了解计算机的内部结构和特点,即对编程者要求较高。高级语言:(如Basic、Pascal、C++、Java等)更接近于自然语言,用十进制数和表达式表示。需通过解释或编译程序翻译成机器语言,计算机才能执行。这种语言容易学、容易编写。展示部分程序,并引导学生初步认识程序的基本要素:定义语句、常量、变量、数据类型、运算符、表达式、语句等。(响应事件)要求学生根据算法,对程序中所欠缺的部分进行补充,实现所需要的功能。
在讲解以及填空的过程中认识计算机程序设计语言的特点,以及程序的基本元素
认识计算机程序设计语言的特点,以及程序的基本元素
新知学习4:计算机程序解决问题的过程:调试程序
程序编好以后,通过键盘输入计算机,然后运行程序,看看程序能否顺利执行。
调试程序
新知学习5:计算机程序解决问题的过程:检测结果
程序能够顺利运行以后,还需要对程序功能进行分析和检查,因为如果程序中有逻辑错误,计算机是检查不出来的。
检测结果
后续学习内容展示:制作QQ登录界面
展示下一节课的任务:设计QQ登陆界面,在输入登录账号以及密码后,点击登录按钮,如果密码正确显示“登录成功”,如果错误则显示“登录失败”;点击取消按钮,则清空我们输入的账号和密码;点击退出按钮,则结束程序。
激发后续学习兴趣
教学反思
通过创设一定的情景来让他们对教学内容感兴趣、有进一步探究的欲望。以具体生动的问题激发学生探究的欲望,在教师的引导下,学生经历对问题的分析、算法的设计、程序的编写以及调试运行、结果的检测等计算机程序解决问题的基本过程,在实践体验过程中形成对计算机程序的初步认识。启迪了学生的思维,激发学生对程序设计的学习兴趣,也激发了学习的主动性。
PAGE
5