“枚举算法”并没有出现在我们高中信息科技教材上,然而它又是非常普遍和实用的算法之一,因此,在学生已经能够理解并掌握程序设计的三种基本结构之后,我们备课组决定将此纳入课堂,作为循环结构的拓展之一。我也在此基础上进行了教学实践与反思。
教学设计
本节课的教学目标,知识技能方面,要求学生理解枚举法的概念并能利用枚举法来解决实际问题;方法与能力方面,培养学生合作探究,自主解决问题以及归纳概括的能力;情感与体验方面,培养学生学习的主动性和积极性以及良好的学习习惯和探索研究的科学态度。
对于枚举法,通常,教师会简单介绍它的概念,之后给出题目,使学生学会用枚举法来解决。我在这堂课的设计过程中,首先,由于程序设计算法较网页制作等其他课程比较,它的理论性很强,学生往往感觉这种课程枯燥乏味,缺乏趣味性,教师也感觉课堂气氛不活跃,难以激发学生的积极求知欲。我的重要任务之一就是激发学生的学习兴趣。俗话说:兴趣是最好的老师。
在课题引入的环节,我从生活实际出发,列举了几个实例:
在一串钥匙中找到所有能开启某扇门的钥匙。
在一箱苹果中挑出烂的苹果。
在全班同学中选出身高在
在全校10名歌手中选出一位最具实力的参加2007超女比赛。
其次,我通过引入主题——认知主题——巩固主题——拓展主题这四阶段层层递进的阶梯式方式使学生全面掌握枚举法的思想。“水仙花数”一题使学生学会用枚举法解决程序设计问题;然后,我“趁热打铁”,立即提出“电话号码”的问题,巩固了学生对枚举法的运用;而“电话号码”也为最后的拓展研究作铺垫,在此基础上使学生由“单循环”向“双重循环”考虑,开拓了学生的思路。
再次,整堂课,我始终着眼于“以学生为本”的宗旨,让学生成为课堂的主角,例如,当第一个问题(水仙花数)提出时,我通过提问回答的方式给出了一些提示,即如何取出一个三位整数的百位,十位和个位,点到即止,留给学生足够的独立思考空间。
二、教学效果反思
从课后的反馈看,全体学生已掌握了枚举法这一知识点,一半以上学生已经能够灵活运用枚举法解题,本次教学效果良好,同行也对课堂表示了肯定。我就以下几个方面对“枚举算法”教学实践进行反思。
1、情景创设,引出主题
在课题引入时,我列举了几个生活实例,请了一位学生找出能开启这间教室大门的所有钥匙,并请他描述找钥匙的整个过程,学生说到:“将钥匙一把一把依次尝试,直到能打开这扇门。”于是我有意识地强调“一把一把” ,“依次”,“直到”几个字眼 ,并提示学生在程序设计的过程中,有时也需要进行一个一个依次寻找答案,学生听出了弦外之音,考虑到“直到”一词,立刻回答用循环结构“Do…Loop Until”来解决,我会心一笑,并趁势追击,给出了枚举法的定义:根据问题给定的一部分条件,列出所有的可能解,然后再逐一验证哪些解能够满足问题的全部条件,从而得到问题真正的解。
刚介绍完枚举法的定义,某位学生立刻举手提问:我认为这种方法很死板,要花很长时间,不是一种聪明的方法。我立刻点头示意:“非常好,这位同学说的的确不错,这是一种要求计算机苦干的方法,但是,大家考虑一下,电脑有一种优势……”话音未落,学生们纷纷说道:“速度快,速度快……”这个学生的提问出乎我意料之外,但恰到好处,使我介绍枚举算法优缺点水到渠成。
能否成功地引入课题,直接决定了一节课的效果。创设一个很好的问题情景,并且在教学中充分合理地运用,可以使课堂教学有一个良好的开端。托尔斯泰说过:“成功的教学所需要的不是强制,而是激发学生的欲望。”如果教师不想方设法使学生情绪高昂和智力振奋的内心状态,就急于传播知识,那么这种知识只能使人产生冷漠的态度,而没有欢欣鼓舞的心情,学习就会成为学生的负担 。通过这样的情景创设,我发现学生的积极性明显提高了,课堂气氛也活跃了很多,为本节课的后续作了很好的铺垫。
2、精讲多练,自主探究
课题引入后,我给学生展示了“水仙花数”一题(所谓水仙花数指的是这样一些数:它们各个位置上的数字的立方和等于它本身,如153=13+53+33,所以153是一个水仙花数,现在请编写一个程序求出100~999之间所有的水仙花数,并将它们输出。)学生阅读题目后,教室立刻又沉寂了,于是我提问:如何将一个三位整数中的个位、十位、百位取出?通过几位学生的回答,学生们得到了正确答案,之后我给出一张流程图表(如图一),不作任何解释,让学生自己探究填写。实际上,流程图表给了学生两个暗示,第一,可以使用循环结构一一列举出100~999之间的每个数。第二,可以使用分支结构去检验每个数是否是水仙花数。我并没有向学生说明这两个暗示,等待学生自己发现。
在学生自主探究的过程中,我发现有这样的案例(如图二),这部分学生并没有理解此题何时运用循环结构与分支结构。于是我在大屏幕上提出了三个问题:如何列举100~999之间的每一个数;水仙花数的检验标准是怎样的;各采取哪种基本结构?部分有疑问的学生看到这两个提问,结合给出的流程图框架,微微点头,经修改后得到这样的答案(如图三),这部分学生基本完成了流程图,但是依然遗留最后一空,我将该答案利用投影仪展示,并请该位学生介绍他的解题思路,并提醒该学生:如何列举100~999之间的每一个数,特别将“每一个数”加了着重号。得此答案的这部分学生终于茅塞顿开,大声喊道:N=N+1。至此,整张流程图终于完成。
宋朝思想家张载说:“于不疑处读书,定能发现问题、分析问题、解决问题,就有新的发现、新的收获、新的喜悦。”这一环节,我体会到,在学生探究时,要做到引中有探,探中有引,必须十分把握“引”的度,步步深入地引导学生逼近结论。
3、合作学习,面面俱到
在“水仙花数”一题之后,我又为学生创设了一个情景:某天小张想打电话给
有“水仙花数”一题作铺垫,这一题经过小组合作,最终正确率达到100%。但是解题时,学生表现的参差不齐在于小组解题的速度不一。针对速度较快的小组,我又对前一题稍作修改:如果小张记得该号码是69□7190□的形式,并且这八位数可以被7或9整除,那么又有多少可能的解?此题有两种解题方法:一种沿用“水仙花数”的解题方法,另一种则是利用“双重循环”,这对学生提出了更高的要求。结果显示,这一题作为拓展研究, 通过小组合作解出此题的有一半以上,更有若干个小组使用了第二种解题方法。在小组合作的过程中,我不断地参与其中,和学生一起讨论解题思路。
“一枝独秀不是春,万紫千红春满园。”学生之间的这种相互探讨,相互切磋使基础较好的学生带动并帮助基础较差的学生共同进步,也使每个人获取了新的知识,受到新的启发,从而问题得到圆满的解决。
三、小结
通过这次课堂教学实践反思,我有三大收获:第一,环环相扣、层层递进的教学方式可以获得很好的教学效果;第二,课前教师的精心准备是一堂课成功的必要条件;第三,教师的应变能力可以为课堂锦上添花。
本节课的不足之处在于学生进行合作学习的力度还不够,学生之间的交流和讨论还不够深入,这是我今后继续努力的方向。