优化程序设计课堂教学的探讨
2011-01-01卢立蕾吴淑坤商艳红
计算机教育 2011年4期
摘要:针对程序设计课堂教学中的主要问题,笔者以充分发挥学生的主观能动性、培养学生的创造性为主要目标,以学生为中心,教师为主导,提出优化程序设计课堂教学的一系列方法,对优化程序设计课程教学具有重要的作用。本文对整个优化过程进行了详细阐述。
关键词:优化;程序设计;课堂教学;实例
随着我国信息化程度的不断提高,计算机己广泛应用于各行各业。具备一定的编程能力,已开始成为高校大学生应该具备的基本素质。目前,在很多高校的理科和工科中,不管是计算机专业还是非计算机专业,都会选择至少一门程序设计语言,将其作为计算机的基础课程开展教学。虽然学校对计算机程序设计语言的教学非常重视,但纵观程序设计课程最后的教学效果,往往不尽人意。不少学生在学习了一门或几门程序设计语言之后,只是通过了学校的课程考试,但实际编程能力和水平仍然较低。因此,要提高程序设计课程的课堂教学水平,必须在现有基础上不断优化,以适应国家和社会对计算机人才越来越高的要求。
1 程序设计课堂教学存在的主要问题
和其他学科的传统教学方法一样,程序设计课程的传统教学模式也是“以教师为中心,教师以讲解、板书和各种媒体作为教学手段和方法,向学生传授知识;学生则被动地接受教师传授的知识”。在课堂教学中,传统教学模式虽然也有可取之处,但是如果不加以改进,只是使用单一的教学模式或教学方法,那么缺点也很明显。目前,在程序设计的课堂教学中,存在的问题主要有以下两个方面。
1.1 课堂讲授内容侧重语法,不利于调动学生的积极性和主动性
当前,虽然多数学校都具有良好的多媒体教学环境,教师可以借助计算机课件讲解和演示实例,但是在开展程序设计这门课的课程教学时,很多教师常常使用传统的教学方式,把大量时间花在讲解某种具体的程序设计语言的语法方面。这种教学模式虽然可以让学生很好地掌握程序设计语言的语法,但是由于学生的大部分时间都是在被动地接收,时间一长,学生的积极性和主动性势必会受到严重的束缚。
1.2 上机实验内容多是验证性的,不利于发挥学生的创造力
和传统学科相比,程序设计课程最大的特点和优势就是实践性强。在课程教学中,教师虽然都会按一定比例安排上机实验,但是在多数情况下,学生上机实验内容不过是复习巩固所学章节的语法,学生把大量的时间花在了验证性实验上,验证和调试书本上或者老师刚刚讲过的程序。在这样的环境下培养出来的学生,应用能力往往不能快速、有效地提高。
2 优化程序设计课堂教学的具体方法
为了让学生学好程序设计这门课程,切实掌握使用语言的基本技能,作为程序设计语言的教师,应该以学生为中心,自己为主导,在课堂教学中充分发挥学生的主体地位;同时使用多种方法,采取多种措施,解决上面出现的问题,优化课堂教学。下面结合我们在程序设计方面的教学体会,从教师的角度探讨优化程序设计课堂教学的具体方法。
2.1 利用多媒体教学课件开篇点题
能够熟练制作和使用多媒体教学课件,是每一位计算机教师必备的基本技能之一。为了让学生在学习程序设计课程之前对将要学习的内容有一个整体认识,对学习这门课后将要达到什么水平心中有数,教师最好在第一次上课时就以多媒体教学课件的形式展示这一学期的具体目标,其中最好包括一些具体程序实例,以增强程序设计课程的吸引力。这对于而向对象的程序设计语言来说是比较方便的,因为教师使用这些语言本身就可以设计出带有图形界面的课件作品,因此很容易实现上述目标。对教师来说,制作的教学课件不仅是一个能够提高学生学习程序设计兴趣的好例子,也是一次展示自己掌握这门程序设计语言实力和水平的大好机会。当然,对于非图形界面编辑环境的程序设计语言来说,制作这样的教学课件相对困难一些。为了提高课件制作效率,可以使用一些专门的多媒体创作工具,以可执行文件的形式把演示的程序实例穿插进去。
教师在第一节课使用多媒体课件开展教学,不仅可以开篇点题,让学生对每次课的目标有清晰的认识,而且会激发学生的好奇心,让学生对程序设计产生强烈的兴趣。在这样的目标指引下,学生的学习积极性和主动性也很容易被调动起来。
2.2 分类对比语言语法,精心设计实例,以点带面,举一反三
和学习任何一门自然语言一样,学生在能够使用一门程序设计语言之前,首先要掌握一定量的语法知识。可是如果教师不注意教学方法,在课堂上占用很多篇幅单纯讲解大量的语法知识,往往会让学生觉得枯燥乏味。尤其对于非图形界面的程序语言编辑环境,更是如此。这样做的结果,势必会使教师陷入填鸭式的传统教学模式中。对于初学者来说,这种教学方法使用的时间一长,不仅谈不上发挥他们的主动性和创造性,最后恐怕连学习程序设计语言的兴趣也会消失殆尽。因此,对讲授程序设计语言的教师来说,必须尽力避免陷入这种怪圈。
到底怎样做才能达到比较好的效果呢?我们认为,面对大量的程序设计语法知识,应事先把它们进行分类和对比,把每节课的语法知识浓缩在精心设计、具有代表性和典型性的少量教学实例中,从而达到以点带面的效果。这样就可以把更多的时间用在调动和发挥学生的积极性和主动性上面,以学生为主体,让学生能够举一反二。
以C程序设计语言为例。在讲授printf函数的语法时,对于众多的输出格式,我们不要试图一下子给学生一一介绍完毕,而可以针对每种不同的数据类型,精心设计一到两个程序实例。如果学生的基础薄弱、整体水平较低,可以先大致介绍两种常用的数据类型,如整型和实型的常用输出格式。当然,为了简化起见,也可以把字符型和整型合并为一类一起介绍。这样就可以针对整型数据类型,设计一个有代表性的程序实例。如分别以整数形式和字符形式输出从键盘卜接收的两个英文字母,只需要使用两条printf语句,就可以把整型和字符型的基本用法进行对照,给学生讲解清楚。而实型的输出格式格式繁多,为避免让学生感到混乱,可以先设计一个小程序,首先编写两条printf语句,把float和double类型的默认输出格式对照讲解,再编写两条printf语句,对比带小数点的输出格式。学生掌握了这些基本用法后,是否继续学习其他的输出格式,可以根据接受能力而定,也可以联系实际,给出一些具体的实际问题,教师边启发边引导学生带着问题进一步学习。对于更大块的内容,教师同样可以使用分类对比的方法,结合典型的程序实例进行讲解,这就要求教师备课时相互联系教材前后的知识,在融会贯通的基础上不断归纳和总结,尽量减少学生在课堂上被动接受知识的数量和时间,腾出更多的时间引导学生自主学习。
2.3 合理选择实验题目,提高上机效率,培养实践能力
在传统的程序设计教学中,教师给学生布置的上机作业多是验证性的,学生上机实验的大部分时间都花在这方面。这样会使学生的思路带有局限性,碰到具体问题只会生搬硬套,谈不上培养学生的实践应用能力和创造能力。
为了克服传统程序设计教学方法的弊端,以培养学生的实践应用能力为目标,教师应该合理选择实验题目,针对学生的不同阶段或不同层次,把上机实验题目分成几种不同的等级,每种题目占有一定的比例。例如,实验题目可分成基础型实验题目、提高型实验题目、综合运用型实验题目三种类型,每种类型的题目各占一定比例。基础知识的巩固固然重要,但只能把它看成是学习程序设计语言的出发点,而不能把它看成落脚点。一般来讲,基础型实验题目最好不超过50%。对于提高型实验题目,所占的比例在30%左右。剩下20%左右的题目属于综合运用型,也正是整个程序设计课程的落脚点,所以不能忽视。对于这类实验题目,教师可以在课程开始时就布置下去,随着学习内容的深入,学生如同滚雪球一样,把这个作业越做越大,到学期最后,这个作业也在不断完善中完成。当然,这里所列的实验比例数据仅供参考,教师可以根据授课班级的不同进行适当调整,以更好地适应学生的实际情况。
2.4 以小组为单位布置大型作业,增强学生的工程能力
程序设计课程是让学生在掌握基本知识和技能的基础上,能够结合实际问题进行一些基本的应用。为了实现这个目标,教师可以根据学生的实际情况布置一定量的大型作业,如前面提到的综合运用型实验题目。这类题目短期内以学生个人为单位完成有一定难度,所以教师可以将全班学生分组,以小组为单位来布置和完成。教师最好事先准备一些和实际应用密切相关的、较大型的实验题目,然后根据作业量的大小和学生的整体水平规定小组人数的卜下限。每个小组可以在教师规定的范围内自由选择题目(最好不要重复),也可以自己定题。每个小组设一名组长,组长根据小组成员的情况分工,不定期地组织小组讨论。对了保证各个小组的作业按进度完成,教师可以定期检查,如以小组汇报的形式听取学生汇报。这不仅能够充分发挥学生的主观能动性,提高学生独立解决问题的能力,而且还能增强学生与人合作和交流的能力。
2.5 合理安排教师讲授和学生上机比例,理论和实践结合
对于程序设计课程的理论讲授和上机实验,教师必须合理安排二者的比例,才能达到良好的效果。切忌集中安排单一的上课或上机,比如为了方便,前半学期全部讲课,后半学期全部实验。这样势必会使学生的理论和实践脱节,实践能力跟不上,达不到理论联系实践、服务于实践的目的。当然,对于设备条件好的学校,如果学生的上机实验方便,或者学生都有电脑,教师也可以更灵活地安排讲授和实验的比例,比如有些实验内容可以提前布置,让学生在课下完成,这样可以在课堂上拿出更多的时间交流、讨论、答疑等。
3 结语
在程序设计的课堂教学中,教师不管选择什么方法,都应该始终围绕“学生为中心,教师为主导”这一主线,充分调动学生的积极性,发挥学生的创造性,这样才能更好地引导学生,激励学生,促进学生的发展,把学牛培养成高素质的程序设计应用型人才。
![](https://img.fx361.cc/images/2025/0113/cYJBctxQLJwpsYggyLSywc.webp)
(编辑:张