论文部分内容阅读
冒泡排序是一种经典的排序算法,在浙江教育出版社出版的《算法与程序设计》教材中,冒泡排序算法是教学重点,也是难点。相对于Excel、FrontPage、QQ之类的软件,算法在学生眼里是抽象而高深的,因此,缺乏学习的热情。而浙教版的教材特别强调算法在解决问题过程中的关键地位,如果不对教材内容进行认真处理,很容易导致学生对算法失去兴趣,甚至反感。那么,如何让学生认识到算法是信息技术处理信息的核心内容?如何使学生更好、更深入地理解算法、学习算法?如何让学生体验到应用算法解决实际问题的成功和快乐?这些都是教师在教学算法与程序设计模块时需要认真思考的问题,也是需要探索的方向。
《普通高中信息技术课程标准》对算法与程序设计模块教学提出了要求:“要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序解决实际问题。”在实际教学中,教师应该从学生的实际生活经验出发,在学习过程中不断培养学生获取、分析、应用信息的能力,促进学生运用编程知识解决生活问题能力的提高,使学生真正从工具的桎梏中走出来,走进算法与程序设计这个充满魅力的世界。吴晓海老师设计的《冒泡排序》一课,在算法和生活的联系方面有了一定的突破,值得我们学习和借鉴。
● 算法挖据,从玩转扑克牌开始
“教育即生活。”陶行知先生如是说。生活是教学的出发点和起点,信息技术教学需要结合学生的生活、学习实际,要以学生的现实生活为源泉。教师在组织教学时,要根据学生的实际生活“活用”教材,用学生的真实生活丰富、充实教学内容。因此,在进行“算法及程序设计的实际应用”教学时,要注意关注学生已有的实际生活经验,教学所选取的素材要以学生的生活经验为起点,瞄准算法与学生生活经验的最佳结合点,并架起桥梁,在课堂上创设有利于学生全面发展的活动,引入生活之水,促进学生对算法的理解。
在这节课的教学中,教师采用了游戏法、演示法、分析归纳法等,用身边熟悉的扑克牌例子出发,引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,从易到难,一环扣一环地进行深入学习,有效地突出重点并突破了难点。我们来看教师的具体做法。
环节一,课前教师先给每组(机房共8组,每组5人)随机分5张扑克牌,要求每人手里持一张牌。并提出要求:这节课的任务就是把小组同学手中的牌按从小到大的顺序在自己的组里进行排序。
环节二,每组同学根据手里的牌,从小到大进行排序(即小的牌在前面,大的牌在后面)。思考如何把一组扑克牌数字进行排序,归纳方法。
环节三,学生亲身实践手中的扑克牌并观看冒泡排序动画演示。
环节四,亲身实践,从小到大排序手中扑克牌(给学生足够的时间)。
在一节课中,教师大胆地把时间交给学生,让学生在玩扑克牌的过程中体会计算机排序的算法,这无疑比让学生观看N次的课件和教师不厌其烦地讲解冒泡排序过程的效果要好得多。我听过多节《冒泡排序》的公开课,也见过有教师将不同高度的学生请到讲台前演示冒泡的做法,看上去有趣而直观,其实容易造成课堂纪律混乱,难以控制。相比之下,使用扑克牌的教学效果要更好些。
● 算法分析,善于使用生活化的类比
算法与程序设计模块是培养学生思维能力的一门课程,在教学中强调了理论与实践的结合,需要学生具有一定的数学知识和逻辑思维判断能力。类比法是将抽象、难以理解、看不见摸不着的知识和具体、容易接受、有形的事物进行比较,找出共同点,分析事物的本质,加强对知识的理解、记忆和巩固。在算法与程序设计教学中,最大的困难正是对一些抽象理论和概念的理解。这些内容如果只凭教师一张嘴反复讲述,哪怕说得口干舌燥,学生恐怕也会听得昏头昏脑,索然无味,教学效果可想而知。而恰当的类比,可以使抽象的知识变得形象化、趣味化,起到了“一语道破天机”的作用。吴晓海老师在教学中就很注重类比法的使用,其中最典型的例子就是对变量交换的教学。
师:如何交换数组a中元素a[2],a[3]?
教师拿出两个杯子,演示一杯装有热牛奶和另一杯装有橙汁如何进行交换。
生:需要引入一个空杯子。
师:对,需要引入一个变量,代码为:K=a[2]:a[2]=a[3]:a[3]=K
类比的应用也要以学生的生活经验为起点。高级程序设计语言最大的特点就是其算法和语句很符合人的思维和自然语言。因此,教师在教学中要先分析问题的本质,再找到现实生活中与之类似的问题,把抽象难以理解的算法和指令与学生见过的事物或已有的知识进行类比,有利于提高学生的兴趣,寓教于乐,把抽象知识蕴含于简单事理中。
● 算法应用,关注实际应用
我们在开展用算法解决实际问题教学时,往往会设计一些实例引入课题,展开教学。过程的实现关键在于实例引用是否贴切,是否有利于学生抽象结论的构建。在实际教学中,我们总是为找到一个好的实例而冥思苦想,贴近生活实际的却不能包含算法中的知识点,符合教学要求了,又可能缺少生活化,总是陷于两难之地。关于排序算法的实践应用,教师一般是给予学生一组数字,或者输入一组数字,让学生进行排序。这样的练习的确非常枯燥、无趣。而吴晓海老师设计的实践题,让我感到耳目一新。题目描述如下。
2008年北京奥运会有很多个国家或地区参加,开幕式按照国家或地区英文名首字母的前后次序出场,已知其中七个国家或地区的名字,请写出冒泡后出场的次序表。尤其要注意数组类型以及赋值。
教师巧妙利用了VB的字符串比较,把纯粹的数字游戏变成有实际意义的国家或者地区名字的排序。而在代码编写方面,和数字排序的编程几乎没有区别。等于说,在不增加学生负担的情况下,使实践题具有了实际意义,自然而然地渗透了利用计算机解决问题的思想,体现了问题解决的过程,促进了学生解决问题能力的提高和信息素养的培养。
当然,除了“结合生活经验,注重算法的实际应用”以外,吴晓海老师在教学上还使用了多种工具辅助教学,效果很好。比如,使用Excel演示在排序过程中的数据变化,形象而直观,有助于学生理解冒泡排序中的内外循环次数。对于教学工具的使用,信手拈来却效果良好。相信学习了这节课,学生对Excel之类办公软件的生活应用,也会有更加深刻的理解。
总之,算法与程序设计模块的教学目标是教会学生解决实际问题的各种方法、策略和途径,提升创新思维的能力。教师在教学时应强调理论与实践相结合,引导学生注意寻找、发现身边的实际问题,体验解决问题的过程,促进算法在实际生活中的应用。
《普通高中信息技术课程标准》对算法与程序设计模块教学提出了要求:“要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序解决实际问题。”在实际教学中,教师应该从学生的实际生活经验出发,在学习过程中不断培养学生获取、分析、应用信息的能力,促进学生运用编程知识解决生活问题能力的提高,使学生真正从工具的桎梏中走出来,走进算法与程序设计这个充满魅力的世界。吴晓海老师设计的《冒泡排序》一课,在算法和生活的联系方面有了一定的突破,值得我们学习和借鉴。
● 算法挖据,从玩转扑克牌开始
“教育即生活。”陶行知先生如是说。生活是教学的出发点和起点,信息技术教学需要结合学生的生活、学习实际,要以学生的现实生活为源泉。教师在组织教学时,要根据学生的实际生活“活用”教材,用学生的真实生活丰富、充实教学内容。因此,在进行“算法及程序设计的实际应用”教学时,要注意关注学生已有的实际生活经验,教学所选取的素材要以学生的生活经验为起点,瞄准算法与学生生活经验的最佳结合点,并架起桥梁,在课堂上创设有利于学生全面发展的活动,引入生活之水,促进学生对算法的理解。
在这节课的教学中,教师采用了游戏法、演示法、分析归纳法等,用身边熟悉的扑克牌例子出发,引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,从易到难,一环扣一环地进行深入学习,有效地突出重点并突破了难点。我们来看教师的具体做法。
环节一,课前教师先给每组(机房共8组,每组5人)随机分5张扑克牌,要求每人手里持一张牌。并提出要求:这节课的任务就是把小组同学手中的牌按从小到大的顺序在自己的组里进行排序。
环节二,每组同学根据手里的牌,从小到大进行排序(即小的牌在前面,大的牌在后面)。思考如何把一组扑克牌数字进行排序,归纳方法。
环节三,学生亲身实践手中的扑克牌并观看冒泡排序动画演示。
环节四,亲身实践,从小到大排序手中扑克牌(给学生足够的时间)。
在一节课中,教师大胆地把时间交给学生,让学生在玩扑克牌的过程中体会计算机排序的算法,这无疑比让学生观看N次的课件和教师不厌其烦地讲解冒泡排序过程的效果要好得多。我听过多节《冒泡排序》的公开课,也见过有教师将不同高度的学生请到讲台前演示冒泡的做法,看上去有趣而直观,其实容易造成课堂纪律混乱,难以控制。相比之下,使用扑克牌的教学效果要更好些。
● 算法分析,善于使用生活化的类比
算法与程序设计模块是培养学生思维能力的一门课程,在教学中强调了理论与实践的结合,需要学生具有一定的数学知识和逻辑思维判断能力。类比法是将抽象、难以理解、看不见摸不着的知识和具体、容易接受、有形的事物进行比较,找出共同点,分析事物的本质,加强对知识的理解、记忆和巩固。在算法与程序设计教学中,最大的困难正是对一些抽象理论和概念的理解。这些内容如果只凭教师一张嘴反复讲述,哪怕说得口干舌燥,学生恐怕也会听得昏头昏脑,索然无味,教学效果可想而知。而恰当的类比,可以使抽象的知识变得形象化、趣味化,起到了“一语道破天机”的作用。吴晓海老师在教学中就很注重类比法的使用,其中最典型的例子就是对变量交换的教学。
师:如何交换数组a中元素a[2],a[3]?
教师拿出两个杯子,演示一杯装有热牛奶和另一杯装有橙汁如何进行交换。
生:需要引入一个空杯子。
师:对,需要引入一个变量,代码为:K=a[2]:a[2]=a[3]:a[3]=K
类比的应用也要以学生的生活经验为起点。高级程序设计语言最大的特点就是其算法和语句很符合人的思维和自然语言。因此,教师在教学中要先分析问题的本质,再找到现实生活中与之类似的问题,把抽象难以理解的算法和指令与学生见过的事物或已有的知识进行类比,有利于提高学生的兴趣,寓教于乐,把抽象知识蕴含于简单事理中。
● 算法应用,关注实际应用
我们在开展用算法解决实际问题教学时,往往会设计一些实例引入课题,展开教学。过程的实现关键在于实例引用是否贴切,是否有利于学生抽象结论的构建。在实际教学中,我们总是为找到一个好的实例而冥思苦想,贴近生活实际的却不能包含算法中的知识点,符合教学要求了,又可能缺少生活化,总是陷于两难之地。关于排序算法的实践应用,教师一般是给予学生一组数字,或者输入一组数字,让学生进行排序。这样的练习的确非常枯燥、无趣。而吴晓海老师设计的实践题,让我感到耳目一新。题目描述如下。
2008年北京奥运会有很多个国家或地区参加,开幕式按照国家或地区英文名首字母的前后次序出场,已知其中七个国家或地区的名字,请写出冒泡后出场的次序表。尤其要注意数组类型以及赋值。
教师巧妙利用了VB的字符串比较,把纯粹的数字游戏变成有实际意义的国家或者地区名字的排序。而在代码编写方面,和数字排序的编程几乎没有区别。等于说,在不增加学生负担的情况下,使实践题具有了实际意义,自然而然地渗透了利用计算机解决问题的思想,体现了问题解决的过程,促进了学生解决问题能力的提高和信息素养的培养。
当然,除了“结合生活经验,注重算法的实际应用”以外,吴晓海老师在教学上还使用了多种工具辅助教学,效果很好。比如,使用Excel演示在排序过程中的数据变化,形象而直观,有助于学生理解冒泡排序中的内外循环次数。对于教学工具的使用,信手拈来却效果良好。相信学习了这节课,学生对Excel之类办公软件的生活应用,也会有更加深刻的理解。
总之,算法与程序设计模块的教学目标是教会学生解决实际问题的各种方法、策略和途径,提升创新思维的能力。教师在教学时应强调理论与实践相结合,引导学生注意寻找、发现身边的实际问题,体验解决问题的过程,促进算法在实际生活中的应用。