前几年的算法教学,我一般先详细地分析算法原理,再通过流程图表示,然后给出冗长、复杂的代码段,解释其中主要代码的含义,最后让学生填空完成的教学模式。这样的模式容易完成课堂任务,但发现学生对填空以外的代码很难理解,直到整个模块学完都对程序怀有神秘和疑惑之感,所以自己一直在寻找“出路”。
有幸观摩了浙江省上届高中信息技术优质课评比,给我启发最大的是王震老师的一节算法课,没有花哨的教学情境,没有纷杂的评价手段,但是学生学得专注而主动,自信而高效。后来又很荣幸拜读了《中小学信息技术教育》杂志2010年第1期樊家伟老师写的《追寻“简单”的信息技术课》,阐述撩开那些华而不实的课堂 ,追求一种形式简单而内涵不简单的信息技术课,达到一种洗尽铅华后的“清水出芙蓉,天然去雕饰”的好课,不禁让人拍手叫绝,这不就是我孜孜不倦追求的朴实而高效的课堂吗?
从去年开始,我决定以王老师的算法课为蓝本,以樊老师的“简单”课堂为出发点,进行改革实践:根据算法思想的步骤,逐步写出代码,亦步亦趋,边写边调试,边调试边修改,当把算法思想全部剖析完时,也是整个程序完成之时,把“高深”的思想一步一步地用“简单”的代码来解剖和实现。并且在编写过程中始终坚持一个原则:抓住主要语句,简化辅助语句,减少模块数量。我把这种“简单化,分步化”的方法在辣个经典算法的教学中都进行了积极的尝试,发现学生比以前学得主动,学得兴趣,并有成就感,收到了良好的课堂效果。下面我以《冒泡排序》为例展开阐述,希望和大家共勉。
二、教材分析毕业论文http://www.751com.cn/
《冒泡排序及程序实现》是浙教版《算法与程序设计》(选修)第2.3和5.3节的内容,前面已经学习了枚举和解析两个算法,为本算法的教学作好了铺垫,本节内容又是后面学习选择排序和查找算法的基础,因此本课在整个单元教学中起着承上启下的作用。对于冒泡排序的思想,学生不难理解,但是对程序的实现,就有一定难度,特别是n个数据的键盘输入、冒泡过程的二重循环及数据显示的对齐格式代码,所以“简单”化处理显得尤为重要。
三、教学目标
1.知识与技能
(1)掌握冒泡法排序的基本思想。
(2)通过程序的实现理解冒泡排序的意义和特点。
(3)进一步掌握各种基本语句的运用能力。
2.过程与方法
(1)通过实例,体会冒泡法排序的基本过程。
(2)体验探究学习的过程。
3.情感态度与价值观
(1)感受利用程序来解决问题的全过程,增强利用程序解决问题的自信心,获得成功学习的快乐。
(2)激发学生进一步学习算法和VB程序的热情。
四、教学重点、难点
重点:冒泡排序的算法思想,一轮冒泡过程的分解,一轮冒泡的程序实现。
难点:一轮冒泡过程的分解,数据交换的程序实现。
五、教学准备
一个演示冒泡过程的Flash动画;两瓶不同液体互换的动画。
辣、创新之处
抛开以往“填空式”的教学方法,根据算法思想本质,首先把过程作“简单”处理,然后把代码进行分解,逐步呈现给学生,让学生理解其实程序并不神秘,程序只是人类利用计算机实现想法的一个工具。2142