《用计算机程序解决问题》教学反思——用游戏吸引学生
“用计算机程序解决问题”是必修课程中的第四章,相对选修课程《算法与程序设计初步》内容是比较简单,但教学目标个人认为不易达到。
在学生印象中,“算法”与“程序”是比较枯燥、复杂的。特别是个别女生,更是望而却步。回忆起以前讲算法时,曾有学生非常之费解“i=i+1”,更有学生在上课时干脆不听讲,做其他科目的作业来……
本章教学有一优势就是时间上——刚好是数学科必修3“算法初步”学生刚好学习过,因此,信息技术老师在“算法”可以省下不少功夫。算法不用从头讲,三种基本逻辑结构学生也掌握了,我们要做的,就是让学生进一步理解“算法”的重要性,并初步体会到“程序”的“奇妙”,更好的做法——让学生用计算机程序解决数学问题。
鉴于此,教学方法上有了新想法,重新设计了教学过程。
反思一:用游戏去吸引学生,诱发思考,让算法与程序变得有趣。
在讲第一课时,在引入时我用了一个“猜数学游戏”和学生互动。
我:同学们,上课之前,我们先来做一个游戏,“猜数学游戏”。(学生们一下子来了精神,今天这个“大叔”要搞什么?)我心中有一个0-100之间的整数,你们谁来猜猜,看谁能用最少次数猜出来!每猜一次,我会提示你猜的数字是“大了”或者是“小了”,一直到你猜中为止。
学生踊跃起来,选了一个学生,猜了差不多10次,猜不中。这时,学生中有人有意见了:“老师,你作弊吧,猜中了也说不对!”
我说:“老师怎么会骗你们,在你们开始猜的时候,我就已经把数字写在纸上了。”我果然把写在纸上的数字给学生看,当然,我选择的数字为了防止学生一猜就中,还是选择一个比较“随机”的数字。
我再说:“要不这样,你选一个数字我来猜,只要是0到100之间的整数,我保证能在7次之内猜出来!”
学生一听,马上“应战”。我在黑板上写出每次猜的数字……我在7次内猜到了学生的数。学生的眼神中,有佩服、有怀疑、有若有所思。
这时,我揭开谜底:
在黑板上画了一条数轴,标上0和100 ,第1次猜50(中间数),若大了,第2次就猜25,若小了,第2次就猜75……这样就能在7次内猜出这个数字。
学生恍然大悟,我进一步拓展:这种解题思想其实也就是数学中的“二分法”思想,取中间值。
这时,我引出新的问题:那么,我们能不能用计算机程序来实现这个游戏呢?
学生们的兴趣被调动起来,并引发思考。
我把程序设计思路讲给学生听,接着问:编写程序之前,我们必须先写出什么?
学生齐答:算法!
我马上抛出本课任务:好,那么大家利用PPT来写出这个算法的流程图。
小结:用游戏教学法是成功的,但在写算法时,还是有相当部份学生不能够正确地画出流程图,究其原因,学生在思路上不成熟,导致在条件结构与循环结构嵌套上条理不清。所以在上后面两个班时,我先学生们一起先用“文字”描述算法,再让学生用“流程图”写出算法,效果好了很多。
反思二:如何引导学生解题思维?进一步提高学生逻辑思维能力。
在讲第一课时,我就碰到了这一难题,我觉得,引导学生解题的思维是一个渐进式的过程。
首先,学生必须对问题能产生浓厚兴趣,注意力集中,思维才能活跃起来。
其次,教师必须把问题交代清楚给学生,同时要密切注意到学生的反应(或反馈)。
第三,让学生有更大更自由的思维空间。具体做法,就是让学生自己动手,发现问题,再解决问题。
所以,在后面的课中,我让学生动手用VB写“猜数字游戏”程序,学生在运行程序时就碰到问题了,我先让小组内互助解决,或是我帮助“检查”程序,这一过程,可以发现许多学生很是专注……同时,我鼓励学生思考:能不能将你的程序换一种写法?有没有更简单的写法?
通过学生间的对比,有多种写法,我点评了其中比较好的,比较精简的写法,告诉学生,这样计算机执行起来就更快速!
在后面,我还让学生思考,你的程序有没有还需要再改进的地方?
另我欣慰的是,居然有学生提出问题:“老师,如果猜数字的人是随便乱猜的,那么,他可能会猜好多次,甚至猜到心情坏了!”
我不由得笑了,“对,这就是我要你们改进的地方!我们能不能加上一个限制,让猜的人只能猜到7次?!如何实现呢?”
学生们又进入思考……针对学生反应,个别班需要提醒:加上循环次数的限制。
再反思一个:算法与程序确实能锻炼学生的逻辑思维能力,能培养学生严谨的思维和缜密的心思。但觉得理科基础好的学生相对来说表现更好一些。