《信息的编程加工》教学案例
2012-04-29吴青春
吴青春
一、教材分析
本节课是教育科学出版社普通高中课程标准实验教科书《信息技术基础》(必修)第三章第二节内容。依据教学大纲要求,本节用一课时。
学生已经学习了信息加工的一般过程,本课起承上启下的作用,通过本节课的学习让学生了解信息编程加工的一般过程,通过对整个过程的体验,让学生了解计算机加工信息的内在机制,知道利用计算机解决问题的步骤和基本思想方法。本节难点在于让学生理解用算法描述实际问题,理解人的思维在计算机工作中发挥的作用。本节课主要起到抛砖引玉的作用,为高二选修课程《算法与程序设计》做前期准备工作。
二、学情分析
高中生思维活跃,求知欲旺盛,已经具有较强的学习能力,逻辑思维能力也日趋严密。但我所教的学生绝大部分在上高中之前,对程序设计基本没有接触,再加上编程内容本身相对枯燥,学生的学习兴趣不高。因此,创设合理的教学情境,激发学生兴趣,消除他们对程序设计的“恐惧”心理,调动他们学习和探究的主动性、积极性,显得尤其重要。学生不可能用一节课的时间对编程掌握多少,但让他们在体验中了解VB编程软件的一些基本操作及基本语句,理解编程加工的一般过程,通过对事先预设的问题进行解决,实现小小的目标,让他们有成功的体验和收获,在问题的解决中实现教学目标。
三、教学目标
知识与技能:了解编程加工是信息加工的一种重要方式;知道信息的编程加工的主要过程;初步学习简单算法的设计,理解并能运用VB编程语言实现算法,尝试简单代码输入,修改代码,完善程序。
过程与方法:知道信息编程加工的一般步骤和方法:需求分析、算法设计、选择开发环境、编程实现;了解并尝试一个完整的程序设计过程,懂得运用编程加工信息来解决问题。
情感态度与价值观:体验程序设计的独特魅力,消除学生对程序设计的神秘感,激发学生学习编程的兴趣,为以后选修《算法与程序设计》打下基础;培养与他人合作交流的意识和习惯。
四、教学重点、难点
教学重点:让学生体验通过编程实现计算机加工信息的整个过程,知道利用计算机解决问题的步骤和基本思想方法,从而了解利用计算机对信息加工 的内在机制。
教学难点:理解人的思维在计算机工作中发挥的作用,用算法描述实际生活中的问题。
五、教学方法
讲解法、任务驱动法、分层教学法。
六、媒体运用
多媒体网络教室、多媒体教学软件、电子白板。
七、教学过程
1. 创设情境,引入课题
师:同学们都玩过了“剪刀、石头、布”小游戏吧?生:玩过。
师:今天老师就请同学们玩一玩该小游戏,请同学们打开桌面上的小游戏,然后和电脑对决一下,看看结果如何?生:惊讶!哎,怎么都是输的呀!每次都赢不了电脑。
设计意图:通过和电脑玩小时候曾经玩过的游戏,激发学生学习兴趣,勾起同学们揭开该游戏神秘面纱的欲望,从而引入课题。
2. 游戏解密
师:上述游戏是老师通过VB编程语言编写的,现在老师带大家一起来探讨该小游戏的设计过程。
教师打开“剪刀石头布”小游戏的原始程序,简要介绍VB软件的窗口界面,然后对该小游戏的界面设计作简单示范。
师:设计好了“剪刀石头布”小游戏的界面,是不是就可以玩呢?生:不行,需要编写程序。
教师打开代码窗口,并对代码做简要介绍,揭秘电脑每次都赢的秘密。玩家每次通过loadpicture函数模拟剪刀、石头、布三种情况的某一种,电脑必通过loadpicture函数出相克的某种情况,导致玩家无法赢。
生:原来如此!
师:同学们想不想尝试着赢电脑呢?
生:想。
活动任务1:小试牛刀(我也能赢电脑)
教师为学生准备已经设计好的游戏界面和部分代码的半成品源文件,学生通过部分代码的添加,调试运行,完成战胜电脑的任务。
设计意图:通过VB中简单语句的使用,实现预设的目标,让学生程序设计的魅力,消除对编程的畏惧感,同时也让学生体验小小的成功,激发他们进一步深入学习的热情,为后续课堂教学任务的展开起到很好的铺垫作用。
3. 公平对决
师:在玩“剪刀石头布”小游戏时,电脑每次都能赢或者经过同学们的代码修改胜利的天平每次都倾向同学们,这两种情况在实际玩游戏的过程中是不公平的,是通过作弊获得预想的结果,这是不可取的。如何设计一个公平公正能模拟现实生活中的“剪刀石头布”小游戏呢?
师:下面,我就带领大家通过该小游戏的设计,了解信息编程加工的一般过程。
(1)分析信息,提出设计方法。
对设计“剪刀石头布”小游戏这样的一个信息进行科学分析,提出相关的设计方法。
师:在计算机编程中,解决问题的方法和步骤叫算法。算法的设计在编程中起到核心的作用。请同学们思考一下生活中的一个问题:甲瓶中装有醋,乙瓶中装有酒精,现在我们将两个瓶中的液体互换,怎样操作?
学生互相讨论并回答。
生甲:我们可以借助一个空瓶子丙,首先将甲瓶中的醋倒入丙瓶中,然后将乙瓶中的酒精倒入甲瓶中,最后将丙瓶中的醋倒入乙瓶中。
师:很好,同学们在交换这两瓶不同液体时,不知不觉地用到了简答的算法。同学们能不能将刚才方法迁移到编程中的A、B两数互换呢?
学生讨论回答,教师在白板上书写描述:C=A,A=B,B=C。
设计意图:本环节的引入,让学生对程序设计中的核心问题算法有一个感性的认识。
师:该小游戏设计的一般算法是什么呢?
教师引导,学生相互讨论并回答。最后,教师归纳设计“剪刀石头布”小游戏的一般设计方法。
(2)编写代码,调试运行
教师演示剪刀代码并分析:
Private Sub 剪刀_Click()
玩家.Picture = LoadPicture(“剪刀.bmp”) ‘玩家出剪刀
Randomize
x = Int(3 * Rnd) ‘计算机随机产生0、1、2三种情况
If x = 0 Then ‘根据随机产生的数进行判断比较,如果是0则计算机出剪刀
电脑.Picture = LoadPicture(“剪刀.bmp”)
MsgBox “对方也出剪刀!继续!”
End If
If x = 1 Then‘根据随机产生的数进行判断比较,如果是1则计算机出石头
电脑.Picture = LoadPicture(“石头.bmp”)
MsgBox “哈哈!你输了!”
End If
If x = 2 Then‘根据随机产生的数进行判断比较,如果是2则计算机出布
电脑.Picture = LoadPicture(“布.bmp”)
MsgBox “哈哈!你赢了!”
End If
End Sub
通过代码的分析,让学生了解计算机是如何模拟现实生活中剪刀石头布小游戏,并掌握信息编程加工的一般机理。
活动任务2:大显身手(补充完善代码,模拟现实生活中的剪刀石头布小游戏)
教师提供剪刀石头布小游戏的半成品,学生补充完成石头按钮中的有关代码,并尝试完整的编写布按钮中的代码,使整个程序完整。
设计意图:通过石头代码中的寻找小问号,让学生初步体验一下VB语言中的基本语句。在此基础上,让学生完成布按钮中的代码编写,进一步使学生了解信息编程加工的一般机理,通过调试程序、完善程序,体验编程的魅力,感受成功的喜悦!学生在整个活动过程中,通过教师指导、同学合作互助,共同完成。
师:请同学们谈谈本次补充完善代码的感受。生:各抒己见……
师:通常在编写程序时,我们不能一蹴而就,需要不断地调试修改。同学们在编写程序时要学会调试程序,通过调试修改,不断地完善程序。任何一个程序我们都不可能使其百分之百完美,我们只有通过不断地调试修改,使其尽可能地完善。同学们在今后的程序设计过程中也是如此。
活动任务3:各显神通(统计玩家胜负概率)
师:同学们看看这样的一个语句m=
m+1,你们能理解吗?生:这在数学上不成立!
师:该语句在程序设计语言中是成立的,它的意思是将m+1的值赋值给左边的m,使其实现累加的功能。同学们可尝试通过在代码中添加这样的语句,统计玩家玩的总次数及胜负的次数,然后统计玩家胜负的概率。
设计意图:让学生进一步体验编程语句的魅力,通过语句的添加,让计算机加工更多的我们所需要的信息,在加工信息的过程中深入体验信息编程加工的一般机理。学生通过小组合作互助,教师点拨尝试,完成玩家胜负概率。同时,通过多次和电脑对决,看看统计的概率和我们数学中计算出来的概率是否相近,从而进一步激发学生对信息编程加工的兴趣。
3. 课堂小结
请同学说说本节课学习的收获和感受。
师:这节课我们学习了信息编程加工的一般过程,在编程中,对算法的运用,能够很好地解决信息加工中的问题。请同学们谈谈本节课的收获和感受。
设计意图:把传统的教师总结转变为让学生来表达,既突出了学生的主体地位,又可以帮助教师根据学生的归纳小结及时了解学生的学习情况,为后续教学提供第一手信息。
八、教学反思
本节课在信息技术学业水平测试中要求为“了解”,而课本上的知识点设计却远远超过了“了解”的范畴。对于我们江苏的高中生来说,没有前奏知识的铺垫,学生理解该课题上的知识点相对来说有一定的难度。因此,我在设计该课题时,整合课本知识,对课本上的教学设计进行了适当修改,从小游戏开始,吸引学生的眼球,然后慢慢剥开该小游戏神秘的面纱,整节课以游戏为主线,在不断完善小游戏中,让学生了解程序设计中的算法概念,掌握信息编程加工的一般过程,完成老师设置的任务,体验成功。整堂课在轻松愉快的氛围中进行,学生在快乐中学,避免了对“程序设计”的恐惧感,为后续学习打下了伏笔。
(南通市第三中学)