“高级语言程序设计”的教学方法研究
2010-08-15何艳敏
◆何艳敏
(电子科技大学自动化工程学院)
“高级语言程序设计”的教学方法研究
◆何艳敏
(电子科技大学自动化工程学院)
“高级语言程序设计”是一门实践性非常强的专业基础课程。本课程是向学生介绍程序设计的基础知识,要求学生掌握程序设计的基本概念,基本思想和基本技能,训练学生的实践能力,培养学生的自学能力和创新能力并使之能将计算机技术应用于本专业领域中。学习本门课程还为学生今后进一步学习“软件技术基础”课程打下理论基础,同时也为学生参加国家教委考试中心主办的计算机二级等级考试做好准备。本文将对本课程的课堂教学方法进行总结和探索。
一、课堂教学内容的调整和把握
本课程以谭浩强的“C语言程序设计”第三版作为教材,理论课时为 20学时,上机学时为 12学时。然而结合教学大纲,这门课程的教学内容丰富,课程难度大,理论性和实践性都很强,教学任务很重。尤其该课程面向的是大一的新生,绝大部分学生的计算机基础几乎为零,因此,在进行教学时,我很注意教学内容的调整和组织。在课程讲授之初,先从基本的语法规则入手,尽可能避免程序的出现,让学生先从简单到复杂,从语法到算法,从学会看懂程序到编写简单的程序,然后逐步深入,把重点放在解题的思路上,通过大量的例题学习怎么设计一个算法,构造一个程序。单纯依靠课堂讲解理论很单调枯燥,而且学生不容易理解和消化,远远不能满足课程的教学要求,所以,在课程教学中,我引入了多媒体教学。多媒体教学在新课导入上有其独特的效果,它能使学生充分利用他们的听觉和视觉,调动他们的能动性,激发他们的兴趣,以达到最佳的学习效果。同时,我还采用了打比方等方法,将抽象的概念变得形象化、具体化,简单易懂,学生容易掌握,促进他们的不断学习。比如,我在引入“程序”这个概念的时候,将程序比喻成要做的一道菜,需要一定的原料还有加工过程:菜 =原料 +加工,其中所要用的原料就对应程序中的数据组织形式,即数据结构,而菜的加工过程就对应程序的具体数据组织,即算法,也就是:程序 =数据结构+算法。另外,我还调整部分教学内容,例如,我把第五章选择结构程序设计中的关系运算符和关系表达式、逻辑运算符和逻辑表达式以及条件运算符提前到第三章数据类型、运算符与表达式来集中介绍,先让学生集中学习,然后到以后章节遇到的时候再复习,强化,方便学生对运算符和表达式的掌握。为了让学生更好的理解整型、实型以及字符型等数据类型在内存中的存放形式,我给学生首先补充讲解了计算机中数的表示以及进制转换、数值的原码、反码和补码的表示方法。对于第二章算法的内容在学生刚开始学习的时候不好理解和把握,我将其分解开来,贯穿到第四、五、六章顺序程序、选择程序以及循环程序的设计的学习中,方便学生更深刻的理解算法以及编程思维的培养。利用这些教学手段,有利于学生知识的获取,从而突破教学的重点,淡化教学的难点,提高课堂教学质量。
二、课堂提问在教学中的巧妙运用
大学的课堂教学中,有部分老师会将课堂提问的环节省略,课堂上只出现老师在讲台上讲,学生在座位上听的这种模式,不利于教学成果的检测,教学质量的提高也会受到很大的影响。教学是教与学的交流,师生双方应相互交流、相互沟通、相互启发、相互补充。学生不应处在被动地位,而应积极地参与其中,与老师共同完成知识的传授与接受过程。我在课堂教学中会专门设计课堂提问,来调动学生参与教学过程的积极性,活跃课堂气氛。同时通过课堂提问,对学生知识水平的检测,把握学生对已授知识的掌握程度,可以及时反馈教学信息,检测教学效果好坏。再根据学生回答问题的情况,课后对自身的教学过程进行反思,不断的改进教学方法和手段,成功的方面加以总结,不足的地方分析原因,加以改进。例如,我常常会在课堂上书写一些程序,让学生将其读懂,一方面,激活学生思维,让他们能开动脑筋,积极思考,及时点评和总结学生的回答,另一方面,根据学生的回答情况,判断学生对所讲授的函数的理解和对所使用方法的掌握,来调整我的讲授方法。我所授课的班级人数接近一百人,而且每周有一次课是在上午三四节,通过课堂提问的方式,不仅让我认识了很多学生,在很短的时间内可以和学生更好的交流与沟通,而且可以刺激学生神经,提高学生的注意力,克服了学生在三、四节容易疲劳,听课效果容易下降的毛病。学生回答问题的过程,既是一个开动脑筋、积极思考的过程,又是一个运用语言准确表达思维的过程。刚开始的时候,我发现班上有一些学生在课堂上不愿发言、不善发言、不敢发言,通过鼓励与举例,让学生逐渐有敢于表达的意识,通过课堂提问,培养了学生的语言表达能力,锻炼了他们在公众场合大胆发言的心理素质。学生每次都很积极,争取他们的展示自我,锻炼自我的机会。
三、重视和灵活安排上机实验
上机实验环节是本课程的重要环节,上机实验可以加深学生对课堂所学基本原理、典型方面和技术感性的认识,增强学生的动手实践能力。通过上机实验,使学生更深入地理解解决问题的基本思想方法,掌握基本的处理技术,使学生更加认识到课程的重要性,激发他们刻苦学习的热情,为将来应用于实际和进行科学研究打下良好的基础。本课程的上机学时所占比重很大,以前有很多老师在安排上机的时候都采用很集中的方式,只安排两三次上机,而一次上机至少是四个学时,这样的上机效果并不好,学生感到厌倦,而且不能解决逐渐暴露出来的一些实际问题。针对这种现象,我将上机实验与课堂授课交替安排,在学生学习了一定的理论知识后就安排相应的上机实验,每次上机两个学时,这样既能有效缓解教学进度上学生普遍感觉的讲解速度太快,超出他们所能接受的范围,又能让学生理论应用于实践,及时解决相应的问题,增强动手能力,强化了所学习的知识点。针对学生上机实验反映出的问题,再次回到课堂的时候又统一讲解和强调,加深学生的理解。比如,在给学生介绍常量、变量标示符的定义时,发现学生在上机使用的时候是很不规范的,随意的使用一些字母就表示了变量,自己都不知道具体代表什么意思,我就多举例,用 PR ICE表示价格,用 sum表示所求的和,用 max表示大等等,规范学生的标示符定义意识。在讲循环结构的时候,多举例引导学生找寻循环规律,再用相应的循环语句编程实现,给学生灌输规范的编程理念,上机的时候逐步实践,积累自己处理实际问题的能力。学生平时的作业也能够通过及时的上机来进行调试、更正,引导学生用自己的思维和方法来解决问题,而不是通过抄写配套的上机指导上面的参考答案来应付交差,让学生更积极主动的去开动脑筋,同时更多地锻炼了自己的动手能力。对每次实验,我要求学生在用自己的算法处理每个实际问题并得到相应的结果后写出实验报告和他们的上机心得以及对实验的建议和要求,培养学生解决实际问题的能力和技巧。学生的积极性和热情度是非常的高,不仅通过自己的努力得到了正确的实验结果,把握了相关的知识点,还认真思考,给我提供了不少实验改进的建议,便于我对实验项目的调整和改进。同时通过上机实验,可以使学生的思维开阔,将所学习的知识点融会贯通,可以使用不同的方法解决同一个问题,更好地将所学习的知识得以应用。刚开始实验的时候,我为了让学生掌握相应的知识点,可能就会针对性的设计一些题目,让学生用当堂课所学习的函数或方法来解决问题,到了后面学生接触的函数更多了,我设计的题目就不会仅仅限于用一种函数或一种方法来解决,而是让学生自由地发挥,只要能解决问题的方法都可以使用,同时让学生比较不同方法之间的差异、优劣,引导学生如何用更好的方法去解决问题。如用 while语句和 for语句来求解1到100的和,用条件运算符和关系运算符来实现比较两个数或者是多个数的大小等。同时还鼓励学生找程序的错误,上机时很多同学在编译出错后不会自己主动去找出问题所在,直接找老师,老师忙得不可开交,实际指导的效率并不高,因此我会调动学生相互改错,对表现突出的学生给予一定的实验课分数的奖励。
四、改变考核方式
结合本课程的特点,我们采用笔试、上机考试以及平时作业相结合的综合考查方式。笔试部分侧重于基本概念、基本语法以及基本编程思想的理解和掌握。上机部分是让学生在规定的时间内解决给定的题目,上机调试通过。结合学生课堂回答问题和平时作业的完成以及上机调试改正的情况,构成学生的平时成绩。考核中,笔试占到60分,上机占到30分,平时占到 10分。通过这样的考核方式,激励学生上课认真听讲,回答老师提出的问题,课后认真完成作业,而不是相互抄袭,使得学生充分把握上机的宝贵时间,不断的调试程序,解决语法错误,培养自己处理实际问题的能力,督促学生认真编写程序,不再偷偷玩电脑游戏,同时经过上机考试,让学生积累临场作战经验,以适应以后的计算机等级考试。
“高级语言程序设计”课程是实践性很强的重要先修课程,研究探索有效的课堂教学设计实验方法,可提高教学效率和质量,加深学生对讲课内容的理解,激发学生学习兴趣和钻研精神,规范学生的编程思想,提高学生的应用能力,为以后其他相关课程的学习和实践奠定坚实的基础。
[1]谭浩强.C语言程序设计 (第三版)[M].北京:清华大学出版社,2005.
[2]李凌.浅谈高级语言程序设计课堂教学方法[J].淮北职业技术学院学报,2005,(4):63-64.