关于高校非计算机专业程序设计课程教学的探索与实践
2011-08-15刘淑艳
刘淑艳
(赤峰学院计算机科学与技术系,内蒙古赤峰024000)
关于高校非计算机专业程序设计课程教学的探索与实践
刘淑艳
(赤峰学院计算机科学与技术系,内蒙古赤峰024000)
程序设计是高校非计算机专业学生计算机教育的主要课程,从培养学生的程序设计能力和分析解决实际问题的能力入手,对程序设计语言的教学方法、教学手段和考核方式等进行了分析和探讨.
程序设计;课程教学;教学方法;教学手段;考核方式
进入21世纪,随着科技的进步、计算机技术的飞速发展,计算机技术在各行各业的应用越来越普及,作为将成为各专业高级人才的高校非计算机专业学生,必须掌握计算机的基础知识、操作技能,提高计算机的应用能力,以便能够在以后的工作中将计算机技术与本专业结合起来,使用计算机技术更有效地为本专业服务.
程序设计是高校非计算机专业学生计算机教育的主要课程,其目的就是通过学习程序设计语言的基本思想、语法知识和编程方法,提高学生的程序设计能力和分析解决实际问题的能力.如何培养学生的程序设计能力,使他们更好地适应当今社会的发展需要,需要进行不断的探索,对程序设计课程的教学内容、教学方法、教学手段和考核方式进行相应的改革.本文从高校非计算机专业学生程序设计课程教学中存在的问题入手,针对程序设计语言的教学方法、教学手段和考核方式等进行了分析和探讨,以期对程序设计语言教学起到一定的参考作用.
1 非计算机专业学生程序设计课程教学中存在的问题
1.1 重视不够,缺乏学习的主动性
由于计算机技术的飞速发展,应用软件层出不穷,一般的应用都有现成的软件,不必自己编程序.因此,学生对学习程序设计的认识不足,缺乏学习的主动性.
1.2 学生学习程序设计的信心不足
因为学习程序设计需要较强的逻辑思维能力,有的学生在学习程序设计时显得力不从心,对计算机程序产生一种莫名其妙的神秘感和恐惧感,不能正确地认识到自己经过学习可以进行程序设计,驾驭计算机解决本专业领域的问题.
1.3 教学方法和手段落后
程序设计课程是一门实践性很强的课程,要注重学生程序设计能力的培养.目前一般采用的教学方法是教师课上讲授加学生实验的形式,但在实际的教学过程中往往只关注课堂教学,对实践部分重视不够,认为所谓“实践”,就是把学生放进机房自己去练习,学生在上机实验时仅仅是对书本上现有的一些实例进行编辑调试,一旦调试成功就完成任务.只是让学生掌握了一些程序设计的语法知识和调试技巧,而达不到培养学生分析问题、解决问题的能力的目的.导致理论和实践脱节,教学效果不理想.
1.4 考核方式单一
考试形式基本上是笔试,这种单一的笔试形式已经无法全面考核出学生对程序设计语言的实际掌握情况和运用该语言进行编程的具体操作能力.还有不少学校把通过计算机等级考试与学位证书挂钩,使得有些学生在程序设计课程学习中不是在编程能力上下功夫,而是把通过计算机等级考试作为计算机学习的终极目的,出现了新形式的应试教育.
以上这些问题的存在,不利于学生程序设计能力和分析解决实际问题能力的培养.为了取得良好的教学效果,应有针对性的从教学方法、教学手段和考核方式等方面进行改革.
2 积极进行教学改革,不断探索新的教学方式
2.1 端正教学态度,明确教学目标
在大学期间,学生不但要学到先进的思想方法及有关的专业知识,还应具有一定的计算机应用能力,使他们在本专业的学习、研究和工作后能熟练地应用计算机.通过学习程序设计语言课程建立起计算机处理信息的基本概念,掌握用计算机解决问题的方法和程序设计的技巧,并尽可能地与专业结合,为日后在工作和学习中使用计算机打下坚实的基础.
2.2 激发学生的学习兴趣,增强学习信心
一个良好的开端是成功的一半,第一堂程序设计课尤为重要.如果一开始,就给学生介绍一些枯燥、抽象的东西,就会使学生失去学习程序设计的兴趣.为此,在第一堂课应找一些有趣的题目,现场编写程序上机运行,向学生演示.通过老师简单的现场演示,使学生们对程序设计产生兴趣.例如,在VisualBasic程序设计的第一堂课,首先编写了一个简单动画演示的程序,界面设计简单,程序代码也只有二十几行,但运行之后效果不错,学生就感觉学习程序设计并不是很难,经过努力也可以做到,有了学习程序设计的积极性.在教学中选择例题时适当引入趣味知识、有趣问题,不仅能吸引学生的注意力,还能激发学生的学习兴趣.在教学中还应遵循由浅入深、从易到难的原则,逐步培养学生的编程兴趣和编程能力,增强学生编程的信心.
2.3 抓基础知识的学习,打好编程的基本功
基础知识的学习要突出三个重点.一是程序设计的语法知识,包括数据类型,函数,对象的属性、事件和方法等.这是使用程序设计语言编程的基础.二是程序的控制结构,让学生掌握顺序、分支、循环这三种基本控制结构的作用及实现方法.三是常用控件的使用,对于面向对象的程序设计语言来说,离不开一些常用控件的使用,因此要将这些控件的功能和使用方法作详细讲解,通过一些实例来加深学生对这些控件的理解.有了编程的基础知识,再加上算法设计,就可以编写程序了.
2.4 改进教学方法,掌握程序设计语言课程教法
2.4.1 精讲多练.程序设计语言课程的讲授要遵循“精讲多练”的原则,所谓“精讲”,即在教学中,主要讲清基础知识和要点,将主要的任务放在教会学生编程的方法上,把重点放在学生分析问题、解决问题的能力和创新精神的培养上;所谓“多练”,即让学生多上机操作,其目的是从培养学生的操作技能入手,让学生多动手、多动脑,培养学生独立思考解决问题的能力.由于程序设计语言课程课时短,因此就要求教师认真设计课堂知识结构,对易学、易懂的知识少讲,对一些基本概念以及难以理解的知识进行有针对性的讲解,抓住关键,突出重点,突破难点.
例如在讲选择、循环等结构的时候,主要讲授这些结构的语句格式、执行的流程和典型例题的算法,然后引导学生总结规律,让学生独立思考,解决相似问题,最后,再给出上机实验作业,让学生利用学习到的知识和方法上机独立解决问题.这样既提高了学生自己学习的能力又提高了学生独立解决问题的能力.
2.4.2 要注重启发式教学.学生是学习的主体,教师的任务在于引导和培养学生发现问题、提出问题和解决问题的能力.在教学中可利用新旧知识的联系,提出需要解决的问题,设计一系列具有启发性的问题,使学生有兴趣进一步思考,通过思考加深理解,而不是仅停留在对例子的表面理解或单纯的语法掌握上.
程序设计的任何一个问题都不是只有唯一的一种解法,要鼓励学生充分发挥自己的聪明才智,启发学生在程序设计的实践中提出解决问题的不同方法,并分析对比不同的算法,根据出现的情况,及时解决出现的问题,提高自己的实践能力.
2.5 不断改进教学手段,努力提高教学效率
随着计算机应用技术的迅速发展,多媒体技术应用到了教学中.采用先进的多媒体教学手段,将文字、图形、图像、声音、视频等信息进行组合,不但在教学中起到事半功倍的效果,而且有利于提高学生的学习兴趣和分析问题解决问题的能力,大大提高了教学效率和质量.将这种方法应用到程序设计语言课程的教学中,教师可以动态演示界面设计和编写代码、调试程序的过程,教师可以边讲解边输入语句,更好地传授给学生编程的方法、思路.同时,教师可以将教学内容制作成电子教案,使得教学内容形象、生动、直观地展示在学生面前,给学生以极大的吸引力,从而可以加大教学信息量,不但节约了课时,提高了教学效率,而且有利于收到良好的教学效果.
2.6 重视实践教学,提高学生的实际应用能力
上机实践是程序设计课程的一个重要环节,是对教学内容的验证和补充.在上机实验前,教师要布置与教学内容相关的上机作业,难易程度有机结合,由学生动手编写程序、上机调试,要培养学生自己解决问题的能力.教师在上机辅导时要发挥其主导作用,可以提出改进算法的思路,引导学生将所学内容应用到实践中来.实验完毕,教师对实验结果加以检查,并对出现的问题及时加以讨论和讲解.通过上机实验,使学生学会运用和巩固所学知识,解决实际问题.
在程序设计课程的后期,可以让学生进行一些综合训练,安排一些要求较高的、有实际意义的或有较好演示效果的题目,让学生利用学到的程序设计知识解决这些具体问题,提高学生综合运用各种己有知识独立解决实际问题的能力.
2.7 构建合理的考核方式
程序设计课程是一门实践性很强的课程,要注重学生程序设计能力的培养,不能陷入应试教学的泥潭.程序设计语言课程的实践性决定了它不要求学生死记硬背各种语法规则和语句格式,而是要求学生在解决实际问题的过程中掌握程序设计方法,提高逻辑思维能力.因此,其考核方式可以将平时作业、上机考试和期末考试有机地结合起来.平时作业主要是为了让学生复习和巩固所学的基本内容,加深对基本理论和知识的理解;上机考试可以让学生在规定时间内对给定的题目编出程序,并且调试通过,这样可以考查学生的上机实际操作能力和综合应用能力;期末考试全面综合考核学生的知识掌握程度和能力水平,可以侧重在对基本概念的理解和掌握方面,以考查学生对基础知识的掌握情况.通过这三方面的考核将对学生的综合水平有全面的了解,使考试成绩更客观合理,可以更充分地调动学生学习的积极性,提高教学效果,提高学生的综合应用能力.
〔1〕郝桂英.关于计算机程序设计语言课程教学的探索.教育与职业,2007(17).
〔2〕赵蔷,解争龙,田俊华.关于高校非计算机专业计算机教育的探讨.教育与职业,2007(8).
〔3〕张敏霞.程序设计语言课程教学方法改革的探索与实践.中国高教研究,2004(2).
〔4〕葛茂松,富春岩.非计算机专业计算机基础课的教学改革.甘肃联合大学学报(自然科学版),2005(4).
〔5〕易幼庆.非计算机专业学生程序设计课程改革.杭州电子工业学院学报,2004(4).
G642
A
1673-260X(2011)01-0211-02