浅谈算法与程序设计教学

(整期优先)网络出版时间:2011-10-20
/ 2

浅谈算法与程序设计教学

谢国恩

谢国恩(大竹县第二中学四川达州635100)

【摘要】《算法与程序设计》是普通高中信息技术课程的选修模块,程序设计教学长期以来一直是高中信息技术课教学的重点和难点之一。作为信息技术教师,在程序设计的教学中,合理的运用教学策略,提高程序计课程的教学质量、培养和提高学生分析问题、解决问题的能力和创新能力,让学生在较为枯燥的程序语言知识的学习中体验到程序设计的乐趣,取得较好的学习效果。

【关键词】算法与程序设计算法分析任务驱动

中图分类号:G63文献标识码:A文章编号:ISSN1004-1621(2011)10-044-02

《算法与程序设计》是普通高中信息技术课程的选修模块,教材采用的程序设计语言是VisualBasic(简称VB)。虽然VB继承了基本BASIC简单易学的特点,强调了面向对象、可视化操作,引入了窗体(Form)和控件(Control)等概念,但仍然存在"难教"和"难学"的问题,长期以来,程序设计一直是高中信息技术课教学的重点和难点之一。经过实践证明,注重学习兴趣的培养,重视算法分析引导,采用任务"驱动"教学和组织课外兴趣小组是搞好算法和程序设计教学的一种行之有效的方式。

一、运用教学艺术,激发学生学习兴趣

兴趣是最好的老师,兴趣也是培养学生学习程序设计能力的前提。很多研究表明,让学生在娱乐中学习将更有利于新知识的获得。学生在刚接触《算法与程序设计》的时候,往往会产生一种新奇感,这是学生在接触新事物时的一般反应。然而随着知识难度的加深,学生的学习积极性很可能有所下降,甚至对那些较为枯燥的程序设计会产生畏难情绪。因此,作为信息技术教师,就应及时调整教学策略,一是在课堂教学中,根据教学内容,展示程序设计的成果,如向学生展示用VB制作的精美贺卡,激发学生的求知欲望;二是给学生布置一些小的程序任务,或者让学生把教材上的例子输入电脑中练习,让学生参与实验,让他们在实验中体验程序设计的魅力,让学生感受成功,增强学生学习程序设计的自信心,使学生保持初学阶段的兴趣和积极情绪。还可以以趣味性强的例题为任务进行教学,如在讲授分支程序问题时,以"火车托运行李"问题进行讲解,在讲授循环程序设计时,以"国王算米""韩信点兵"等问题进行讲解,通过这些趣味题,激发学生学习程序设计的兴趣,增强活动的愉悦性。

二、重视算法分析,提高分析问题的能力

算法分析是《算法与程序设计》教学的精髓。教会学生分析问题的方法,有助于学生编程解决问题。因此,教师在教学过程中,要注重算法的分析指导,提高学生分析问题的能力。一是可以在教学中,借用比喻采用形象化教学帮助学生理解。如在教学两个变量的数据交换时,就可以设置比喻:假设变量杯子a中装的是酒,杯子b中装的是醋,现在要交换这两个杯中的对象,根据学生的经验,学生很自然地想到要借助另外一个空杯子来实现交换,这样就有助于学生理解。二是在教学程序思想时,要引导学生善于观察,在分析问题时,找出事物的内部规律。如在解决编程求:s=1+1+2+3+5+8+……+2584+4181+6765共20项的和,如果说学生只从表面上观察事物,就会一筹莫展,这时,教师要引导学生善于观察隐含在事物内部的规律,得出:该数列的第一项是1,第2项也是1,从第三项开始,每一项等于前两项之和,找到了这个规律,编写程序就不再难了。除此这外,还要循序诱导,让学生在已有的经验之上,完成类比推理,达到解决问题的目的,提高学生分析问题的能力。

三、采用"任务"驱动,增强解决问题的能力

"任务驱动"是指在教学全过程中,以若干个具体任务为中心,通过完成任务的过程,介绍和学习基本知识和技能,让学生在完成具体任务的过程中,逐步接受新知识、新技术。

在《算法与程序设计》的教学过程中,把教学内容巧妙地隐含在每一个任务中,同时以VisualBasic应用软件为载体,让学生能够动手实践自己的算法,在各个任务之间,设计的时候注意一定地循序渐进的梯度,也要考虑到学生的个体差异性。对于学生的不同层次,给他们布置的任务也有所不同,将若干个有层次之分的任务布置,让学生根据自己的能力去选择。学生在解决问题的过程中发现新的问题,通过完成一个个任务来提高自己的能力。对于较难的任务,学生可以通过互相合作交流的方式,一起去解决问题,当学生通过学习活动,在不断的获得新知识的过程中,能够不断的看到自己的成果时,就会爆发出强烈的学习愿望。教师在这过程中,不仅仅是任务的设计者,同时也是引导者和参与者,在学生完成任务的过程中,注意引导学生进行思考,主动的去探索。对于学生完成任务的结果予以及时反馈,学生在了解了学习结果后,可以看到自己的进步,提高学习热情,同时又能看到自己的不足,激起上进心,争取更好的成绩。

此外,教师还要适时做好归纳小结。归纳可以是一个控件多方面(如事件、属性设置等)的归纳,也可以是对一种结构的归纳(如分支结构的归纳)。总结可以是一课的总结,也可以是几课的总结。归纳总结的形式也可以多种多样,可以使用文字概括,也可以使用图示总结,重难点要着重强调。这种归纳总结,一方面有利于学生理解知识、融会贯通,顺利实现知识迁移,另一方面对于提高学生的学习效率也有很大的帮助。

四、组织课外兴趣小组活动,培养学生的特长

高中阶段,由于课时的限制,程序设计在课堂中只能讲授初步的基础知识,不能进行深入讲解。根据因材施教的原则,为满足对程序设计有兴趣的同学学习的需要,教师可以在课余时间通过组织课外兴趣小组,开展第二课堂,培养这学生的特长。还可以开展程序设计比赛,让学生展示自己程序设计方面的成果,这样做既有利于学生之间设计方法、技巧等方面的交流,也有利于进一步激发设计的兴趣。通过比赛,老师可以辅导这些学生学习书本外的知识或深入讲解课本相关知识,从而提高这些学生的程序设计水平。

总之,程序设计是计算机这一现代工具为信息技术教育带来的一种培养逻辑思维能力的新方法和新手段。虽然教无定法,但教要得法,决不能离开程序设计的教学内容和教学目标,脱离学生的知识背景和认知规律。采取符合学生认知规律的、科学的教学方法,必然会提高教学效率,取得事半功倍的效果。

[参考文献]

1、《算法与程序设计》上海科技教育出版社,2011年1月第1版。

2、《算法与程序设计教学用书》上海科技教育出版社,2011年1月第1版。