算法与程序设计教学体会点滴
2017-10-24颜春梅
颜春梅
摘 要:随着现代信息技术日新月异的发展,算法已经融入到人们生活的的许多方面,并在我们的生活中扮演着及其重要的角色。本文从笔者的教学实践出发,针对这门课程的教学现状,谈谈在教学上的几点体会。
关键词:算法;程序设计;教学
一、算法与程序设计在高中信息技术课程中的地位
随着现代信息技术日新月异的发展,算法已经融入到人们生活的的许多方面,并在我们的生活中扮演着及其重要的角色。“算法与程序设计”是高中信息技术课程的选修模块之一。该模块以算法和程序设计、问题解决为主线,从实际需求(问题)出发,分析问题,发现问题的本质,构建相应的算法,采用程序设计语言实现问题的解决。由此可见,学习算法与程序设计,对培养学生的逻辑思维能力具有重要意义,并且为学生进入大学学习计算机相关专业做了一个很好的铺垫。
二、算法与程序设计的教学困难
算法与程序设计这门课程在2013年新课改后,才成为了广西普通高中指定选修模块。由于算法与程序设计这门课程本身的抽象性,使得教师在教学过程中面临各种各种的困难。总结归纳起来,主要有以下几个方面:
(一)学生信息技术水平参差不齐造成的教学困难
高中生源范围广,学生信息技术水平个体差异巨大。随着教育信息化的不断发展,信息技术课程的普及覆盖了我国大部分地区的学校。但是也有许多乡镇、农村中学在思想上并没有改变对信息技术课程重要性的认识,并没有认真开展教学工作。这就造成了来自乡镇和农村地区的孩子信息技术水平几乎为零,复杂和抽象的算法与程序设计,理解起来就更加困难。而另一部分来自城市的学生,他们从小接触网络,具有良好的信息素养。有些学生甚至在初中阶段已经初步接触过了算法与程序设计的学习,只要稍加点拨和指导,就能进行有效的自主学习。
面对差异如此巨大的学生,对于教师来说,是一种巨大的挑战。教师在选择教学方法和教学策略时,受这一情况的制约,相对来说是比较被动的。
(二)教学条件造成的教学困难
随着教育信息化的不断发展和推进,大部分高中学校,都加强了计算机教室的建设,初步具备了进行信息技术教学的条件。但是后续的维护和维修很难跟上教学的进度。电子产品设备质量良莠不齐,在使用过程中容易出现问题和损坏。而配件的维修和更换由于制度的原因,需要经过比较繁琐的程序,这就不能有效的保证信息技术课程的开展,因为算法与程序设计是一门注重实践的课程,需要大量的上机练习才能有效的巩固知识,加深学生对知识的理解。如果没有办法满足一人一机的要求,势必会对教学效果产生不利的影响。
另一方面,受高考壓力的影响,无论是学校还是学生,都会把更多精力投入到高考科目的学习中去。学校会在课时的安排上有所偏重,教学时间紧张,实践课少。这些因素都给算法与程序设计这门课程的顺利开展增加了难度。
(三)课程自身特点造成的教学困难
算法与程序设计这门课程本身逻辑性、抽象性、系统性强,教材相对枯燥乏味,与之前所学的信息技术课程相比较,有以下几个特点:
一是新概念难于理解。算法与程序设计中引入了很多新的概念,比如控件、对象、事件、方法和属性。这些新概念,与学生知识建构体系中的原有概念并不相符学生很难理解。
二是程序的阅读与编写需要一定的英语基础。众所周知,从小学开始,学校、家庭和社会就投入了大量的人力物力来培养学生的英语水平,但是却收效甚微。大多数学生英语的读写听说能力都不高。然而,程序中的控件、相应的属性代码以及程序语句都用到了大量的英语单词。
三是算法与程序设计具有较强的抽象性。面向对象的程序设计的本质就是抽象。抽象就是提取特征,忽略细节。那么学习算法与程序设计就需要有逻辑思考、分析、想象、设计、整合、创造等各种能力。尽管随着年龄的增长,高中生的抽象思维有了很大的提高。但是他们在进行抽象概括、理论论证时,在很大程度上还依赖具体经验的支持。
课程本身的这些特点,造成了在教学上的困难。只有想方设法,突破这些难点,才能上好这门课。
三、有效提高算法与程序设计教学效果的途径
在长期的教学活动中,针对这门课程的教学现状,解决教学难题,我不断的学习和实践,在教学方法上也有一些心得体会,总结出来,与大家分享。
(一)巧用实例,激发学生的学习兴趣
首先用实例,向学生揭开算法与程序设计的神秘面纱。万事开头难,在上第一节课的时候,我向学生展示前几届学生编写的小程序,并让学生运行一些有趣的小程序,以此来激发他们学习的兴趣,打消学习的恐惧。当然,激发学生的学习兴趣不是能够一朝一夕就能完成,如果学生在后续的学习当中没有找到兴趣的支撑点,就很容易失去学习的热情。在《初试身手,体验编程》这一节课中,我首先运行了一个用于显示系统时间的程序。当学生看到时间显示在屏幕上,并且每秒都在变化时,非常好奇,求知欲被点燃。接下来演示和讲解程序的设计过程。此时,学生刚接触算法与程序设计,应该淡化代码的编写,而将重点放在程序的设计过程。这样一来,学生就会发现,原来学习算法与程序设计是一件简单而有趣的事情。在教学中如果能够选取恰当的例子,从学生的兴趣和生活当中寻找切入点,往往能达到事半功倍的效果。
(二)因材施教,分层教学
学生由于家庭经济,知识背景以及自学能力等因素存在着个体差异性。早在两千多年前,孔子就提出了因材施教的主张。但是现在学校所采用的班级授课往往又成了因材施教的制约。而分层教学能够有效的缓解这两者之间的矛盾。课堂教学分层就是教师在课堂教学中,顾及不同层次学生的学习要求和学习能力,开展有差异的教学活动。在进行《可视化编程的一般步骤》的教学时,我首先针对全体同学进行了一次演示和讲解,学习能力较强的学生可以根据我在课前录制的教程视频进行实践。对学习能力一般和较差的学生,进行第二次演示和讲解,然后在他们实践的过程中,再对一些操作仍然有困难的学生进行一对一,手把手教学。采用这样的教学策略,不仅能够在课堂上减轻教师的负担,也不失为一种长善救失的手段。
(三)注重逻辑思维能力的培养
本门课程的教学重点应该在于对学生逻辑思维能力的培养。通过直接经验的类比,能够帮助学生逐渐形成逻辑思维能力。比如说,在学习交换两个变量的值的时候,学生一开始往往不能够想到需要一个中间变量来进行交换。这个时候可以通过生活中的具体例子来引导他们。比如有一杯水和一杯饮料,怎样才能将它们互相交换呢?学生会马上想到,需要一个空杯子先腾出来。然后通过类比的方法,他们就能很快理解了。
四、结束语
算法与程序设计既是一门抽象性很强的课程,又是一门有趣的课程,对培养学生的逻辑思维能力具有重要意义。要上好这么课程,作为教师的我们要不断学习,用深入浅出的教学方法,行之有效的教学手段来提高教学效果。
参考文献:
[1]广西普通高中新课程信息技术学科教学指导意见(试行)
[2]王爱艳.算法与程序设计教学之我见[J].信息技术教育,2008年02期endprint