论文部分内容阅读
摘要:C语言是非计算机工科专业开设的首门高级语言程序设计,在整个学科体系中占据着重要地位。为了提高教学质量,本文从教学目标、课堂讲授、实践环节等几个方面对C语言教学中出现的一些问题进行了分析和探讨。
关键词:C语言;教学实践;程序设计
中图分类号:G642文献标识码:A文章编号:1009-3044(2007)04-11149-02
1 引言
《C语言程序设计》是很多院校的工科必修课,也是计算机二级考试的考试科目之一。学生通过这门课程的学习,不仅要掌握C程序设计的基础知识和基本算法,更要掌握编程的思想、方法和技巧。所以提高这门课程的教学质量,对于培养大学生的计算机应用及开发能力至关重要。
2 现状及目前教学中出现的问题
2.1 没有充分调动学生的积极性和主动性
许多高校非计算机专业是在大一就开设了《C语言程序设计》这门课程,而此时课程繁重以及对该门课在他们相应专业中的地位和作用的不了解,很容易失去学习兴趣。如果在教学过程中,老师还是以传统的“填鸭式”教学方法为主,就会导致学生始终处于被动的学习状态中,最终对课程感到厌倦,最后囫囵吞枣,不求甚解。
2.2 教学内容安排和教学手段的使用不合理
传统的C程序设计教学通常是重点讲授C语言基本语法,然后用编程实例来验证语法规则。这种教学仅仅从语言的使用这个单一角度进行,使学生在学习过程中“知其然不知其所以然”,对课程的掌握只停留在语言使用方面上,应用能力差。教师在讲授过程中大多采用多媒体课件,这使课堂的信息量增大,但在演示过程中,演示速度通常比较快,学生思维难以与之同步,从而影响教学质量。
2.3 实践教学环节重视不够
C语言这门课程实践性很强,学生只听不练根本达不到学习的目的。目前的实践教学存在一些问题。如:实验内容针对性不强,实验题目不能激起学生的兴趣,缺乏创新性。很多学生在上机实验过程中只是验证程序,没有自己去思考。
3 对提高教学效果的探讨
针对目前《C语言程序设计》课程中出现的问题,对其进行教学改革主要是在提高教学效果和培养学生编程能力两个方面,主要应该着力在以下几个方面改进:
3.1 激发学生编程兴趣,养成良好的编程习惯
孔子曾经说过“知之者不如好之者,好之者不如乐之者。”可见兴趣是最好的老师,是学习的前提和推动力。要让学生学好编程就是要让他们对编程感兴趣。第一堂课要避免给学生讲些枯燥、抽象的东西,以免学生失去兴趣。笔者在第一堂课中演示了一个人机互动的小程序,由计算机随机产生一个数字(如:209),让大家猜一个数(如:100)并从键盘输入,这时屏幕就显示:“小了,请重新输入”。再重新输入一个数,直到输入正确,显示“恭喜你,答对了!”在演示这个例子的过程中,大家很感兴趣,都积极参与了猜数。调动了大家的积极性也提高了他们学习编程的兴趣。
在讲数据类型等基础知识之前,先介绍算法和流程图。目的是让学生对程序结构有一个清楚地认识。笔者详细介绍了N-S流程图,并提出了“百钱买百鸡”、“韩信点兵”、“猴子吃桃”等几个比较经典的算法,引导他们去画出N-S流程图,学生比较感兴趣,同时对C程序的结构有了一个大致的了解。算法是程序的灵魂,通过流程图的训练,要求学生拿到每道程序都先分析有几个输入、几个输出、程序的结构等,养成分析程序的好习惯,逐步掌握学习程序的方法。
3.2 整合教学内容,应用“案例驱动式”教学法
尽量将C程序设计与相关的计算机知识结合起来教学,让学生能够深入理解。在教学过程中通过编程实例适当引入数据结构和算法,让学生在掌握基础知识的同时对算法有一个积累,提高其分析和解决较复杂问题的能力。训练学生逐步从学习语言使用和编写简单小程序到编写具有一定难度的多模块程序再到开发一定规模的大型程序。
案例驱动教学法是一种综合性的教学方法,在C程序设计课程中应用这种方法目的在于培养学生综合运用所学知识解决实际问题的能力。针对在校学生接触实际应用较少的特点,采取逐步引导的方法。首先根据学生已有的知识和需要掌握的新知识,预先设计一个案例,在此“案例”框架的驱动下,展开新知识的教学和学习。有利于激发学生的学习热情,培养学生的自学能力。
另外在教学手段上,要合理安排学时,合理运用多媒体课件。简单的内容可以提出要点安排学生自学,重点内容如:函数、指针等内容则要详细讲解。同时在演示重点和难点问题时尽量结合板书,让学生有充足的时间吸收。特别是递归、排序等算法,直接给出代码学生往往是一头雾水,最好能一步一步的通过板书演示,这样能产生较好的教学效果。
3.3 强化实践教学
C程序设计是一门实践性很强的课程,不但要求学生掌握理论知识,更重要的是要求学生把所学的知识应用到实践中,解决实际问题。所以,强化实践教学是C程序设计课程的重要环节。首先,教师要重点设计实验题目,使题目既接近实际需要,又能让学生感兴趣,能用所学知识解决。题目分为基础题、主题题和综合题。
基本题:按照教学顺序设计,尽量避免涉及后续章节的知识,后续的课程题目尽量引用前面课程的内容,以便加深对前面所学知识的理解。
主题题:通过训练将语言知识和程序设计的内容串成两条相互呼应的主线。教师按照主题布置一些难度稍大的综合作业,例如:求一元二次方根的根,编程求出一个数的所有分解数。学生通过练习,加深对语言的全面理解和掌握,培养综合应用语言的能力,提高编程水平。
综合题:是对一学期所学知识的巩固和总结,应尽量与实际生活或工作有关,且具有一定的规模,可将其分成几个子项目,由更多学生参与,分工合作,目的在于提高学生动手能力,分析和解决问题能力以及团队协作能力。
在实践过程中还应该要求学生在上机实验之前先写好预习报告。因为上机时间有限,如果临时来思考的话时间不够,所以我们要求学生先预习,上机时主要是对自己的程序进行调试和改进。老师在上机实验过程中再针对大家出错较多的地方提出问题,引导大家思考,帮助学生加深印象并及时地做出评讲。同时做好实验成绩的评分和记录。
4 结束语
综上所述,在C语言程序设计的教学过程中,如能充分发挥教师的指导作用,又能充分发挥学生的能动性,从C语言的特点出发,理论联系实际,树立程序设计的思想,传授程序设计的方法,必能取良好的教学效果。与时俱进的教学理念、教学方法,是教学成功的前提。我们要在自己的教学实践中勇于实践、勇于探索,尽量将学生的内在积极性与潜能充分发挥出来,从而达到最佳的教学效果。
参考文献:
[1]谭浩强. C程序设计[M]. 北京:清华大学出版社,2002.
[2]李春葆. C程序设计[M]. 北京:清华出版社,2004.
[3]吴文虎. 计算机程序设计基础课程改革[J]. 中国大学教学,2004(2):13-14.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:C语言;教学实践;程序设计
中图分类号:G642文献标识码:A文章编号:1009-3044(2007)04-11149-02
1 引言
《C语言程序设计》是很多院校的工科必修课,也是计算机二级考试的考试科目之一。学生通过这门课程的学习,不仅要掌握C程序设计的基础知识和基本算法,更要掌握编程的思想、方法和技巧。所以提高这门课程的教学质量,对于培养大学生的计算机应用及开发能力至关重要。
2 现状及目前教学中出现的问题
2.1 没有充分调动学生的积极性和主动性
许多高校非计算机专业是在大一就开设了《C语言程序设计》这门课程,而此时课程繁重以及对该门课在他们相应专业中的地位和作用的不了解,很容易失去学习兴趣。如果在教学过程中,老师还是以传统的“填鸭式”教学方法为主,就会导致学生始终处于被动的学习状态中,最终对课程感到厌倦,最后囫囵吞枣,不求甚解。
2.2 教学内容安排和教学手段的使用不合理
传统的C程序设计教学通常是重点讲授C语言基本语法,然后用编程实例来验证语法规则。这种教学仅仅从语言的使用这个单一角度进行,使学生在学习过程中“知其然不知其所以然”,对课程的掌握只停留在语言使用方面上,应用能力差。教师在讲授过程中大多采用多媒体课件,这使课堂的信息量增大,但在演示过程中,演示速度通常比较快,学生思维难以与之同步,从而影响教学质量。
2.3 实践教学环节重视不够
C语言这门课程实践性很强,学生只听不练根本达不到学习的目的。目前的实践教学存在一些问题。如:实验内容针对性不强,实验题目不能激起学生的兴趣,缺乏创新性。很多学生在上机实验过程中只是验证程序,没有自己去思考。
3 对提高教学效果的探讨
针对目前《C语言程序设计》课程中出现的问题,对其进行教学改革主要是在提高教学效果和培养学生编程能力两个方面,主要应该着力在以下几个方面改进:
3.1 激发学生编程兴趣,养成良好的编程习惯
孔子曾经说过“知之者不如好之者,好之者不如乐之者。”可见兴趣是最好的老师,是学习的前提和推动力。要让学生学好编程就是要让他们对编程感兴趣。第一堂课要避免给学生讲些枯燥、抽象的东西,以免学生失去兴趣。笔者在第一堂课中演示了一个人机互动的小程序,由计算机随机产生一个数字(如:209),让大家猜一个数(如:100)并从键盘输入,这时屏幕就显示:“小了,请重新输入”。再重新输入一个数,直到输入正确,显示“恭喜你,答对了!”在演示这个例子的过程中,大家很感兴趣,都积极参与了猜数。调动了大家的积极性也提高了他们学习编程的兴趣。
在讲数据类型等基础知识之前,先介绍算法和流程图。目的是让学生对程序结构有一个清楚地认识。笔者详细介绍了N-S流程图,并提出了“百钱买百鸡”、“韩信点兵”、“猴子吃桃”等几个比较经典的算法,引导他们去画出N-S流程图,学生比较感兴趣,同时对C程序的结构有了一个大致的了解。算法是程序的灵魂,通过流程图的训练,要求学生拿到每道程序都先分析有几个输入、几个输出、程序的结构等,养成分析程序的好习惯,逐步掌握学习程序的方法。
3.2 整合教学内容,应用“案例驱动式”教学法
尽量将C程序设计与相关的计算机知识结合起来教学,让学生能够深入理解。在教学过程中通过编程实例适当引入数据结构和算法,让学生在掌握基础知识的同时对算法有一个积累,提高其分析和解决较复杂问题的能力。训练学生逐步从学习语言使用和编写简单小程序到编写具有一定难度的多模块程序再到开发一定规模的大型程序。
案例驱动教学法是一种综合性的教学方法,在C程序设计课程中应用这种方法目的在于培养学生综合运用所学知识解决实际问题的能力。针对在校学生接触实际应用较少的特点,采取逐步引导的方法。首先根据学生已有的知识和需要掌握的新知识,预先设计一个案例,在此“案例”框架的驱动下,展开新知识的教学和学习。有利于激发学生的学习热情,培养学生的自学能力。
另外在教学手段上,要合理安排学时,合理运用多媒体课件。简单的内容可以提出要点安排学生自学,重点内容如:函数、指针等内容则要详细讲解。同时在演示重点和难点问题时尽量结合板书,让学生有充足的时间吸收。特别是递归、排序等算法,直接给出代码学生往往是一头雾水,最好能一步一步的通过板书演示,这样能产生较好的教学效果。
3.3 强化实践教学
C程序设计是一门实践性很强的课程,不但要求学生掌握理论知识,更重要的是要求学生把所学的知识应用到实践中,解决实际问题。所以,强化实践教学是C程序设计课程的重要环节。首先,教师要重点设计实验题目,使题目既接近实际需要,又能让学生感兴趣,能用所学知识解决。题目分为基础题、主题题和综合题。
基本题:按照教学顺序设计,尽量避免涉及后续章节的知识,后续的课程题目尽量引用前面课程的内容,以便加深对前面所学知识的理解。
主题题:通过训练将语言知识和程序设计的内容串成两条相互呼应的主线。教师按照主题布置一些难度稍大的综合作业,例如:求一元二次方根的根,编程求出一个数的所有分解数。学生通过练习,加深对语言的全面理解和掌握,培养综合应用语言的能力,提高编程水平。
综合题:是对一学期所学知识的巩固和总结,应尽量与实际生活或工作有关,且具有一定的规模,可将其分成几个子项目,由更多学生参与,分工合作,目的在于提高学生动手能力,分析和解决问题能力以及团队协作能力。
在实践过程中还应该要求学生在上机实验之前先写好预习报告。因为上机时间有限,如果临时来思考的话时间不够,所以我们要求学生先预习,上机时主要是对自己的程序进行调试和改进。老师在上机实验过程中再针对大家出错较多的地方提出问题,引导大家思考,帮助学生加深印象并及时地做出评讲。同时做好实验成绩的评分和记录。
4 结束语
综上所述,在C语言程序设计的教学过程中,如能充分发挥教师的指导作用,又能充分发挥学生的能动性,从C语言的特点出发,理论联系实际,树立程序设计的思想,传授程序设计的方法,必能取良好的教学效果。与时俱进的教学理念、教学方法,是教学成功的前提。我们要在自己的教学实践中勇于实践、勇于探索,尽量将学生的内在积极性与潜能充分发挥出来,从而达到最佳的教学效果。
参考文献:
[1]谭浩强. C程序设计[M]. 北京:清华大学出版社,2002.
[2]李春葆. C程序设计[M]. 北京:清华出版社,2004.
[3]吴文虎. 计算机程序设计基础课程改革[J]. 中国大学教学,2004(2):13-14.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。