论文部分内容阅读
【摘 要】本文结合C语言课程的特点,分析了当前在教学中存在的问题,提出了一些有效的教学方法,帮助学生激发学习兴趣,提高实践动手能力和团队协作能力。该研究成果取得了良好的教学效果,受到学生的普遍欢迎。
【关键词】C语言教学 教学方法 程序设计
一、引言
“C语言程序设计”课程是信息类专业的一门重要专业基础课程,在整个课程体系中占有重要的地位。C语言学习的好坏,将直接影响着学生进一步学习其它与编程相关的课程的学习效果。因此,作为学生接触到的第一门计算机语言,C语言成为了学生学习其它相关课程的基础和必备技能,学生必须认真对待,将C语言学好。
为了实现这个目标,教师在教学时采用的授课方式和管理方法将起着关键的作用。在本文中,我们结合多年的教学经验,首先分析了初学者面临的一些问题,然后提出了相应的教学改革措施。这些方法在近几年的教学实践中不断总结与完善,获得了很好的教学效果。
二、初学者面临的问题
计算机语言是人与计算机进行交流的语言,它的学习方法与人类的语言的学习方法有很大的相似之处,都是需要掌握一些词汇、语法,然后进行大量的实践,才会掌握这门语言。
对于初学者,如果一开始就专注于语法,就会觉得C语言学习起来很费劲,甚至会出现厌学情绪,极大地削弱了学习的积极性。因此,在刚开始接触C语言时,不要花费太多的精力去学习语法,而是要采用模仿的方式,学会使用一些常用的语句,解决与例题相似的问题即可。另外,初学C语言时,要将重点放在阅读程序上,而不要一开始就去编写程序,因为在理解了一些常见的程序之后,学生一方面学习了常用的表达法,另一方面,也熟悉了解决问题的步骤与方法,有了这些基础,再去编程解决其它问题就会容易得多。
当然上面提到的两个问题,是为了让初学者好入门,在学习的过程中采用循序渐进的方式,使学生在保持积极性的前提下学会一些基础知识。对于C语言中的重难点部分,如函数和指针,如何让学生理解它们的用法,则需要一定的教学方法进行辅助,才能达到较好的效果。
三、教学方法与改革措施
(一)板书、多媒体和现场编程教学方式的结合
传统的教学方式是通过板书来进行的。这种方式可以将知识点讲得很细致,容易被学生所接受。然而,板书式教学不是很适合操作性很强的课程的教学,因为这些课程需要给学生作一定的演示,才能获得好的效果。于是,多媒体教学应运而生,教师只要事先做好幻灯片,在课堂上,按一定的顺序演示给学生看就可以了。这种方式可以引入图文声像等各种素材,让学生了解围绕所讲内容的很多信息。不过这种方式也有些问题,需要教师把握好进度,因为信息量很多,就要考虑学生能否接受的问题了。对于编程课程,教师还需要在编程环境中给学生做好现场编程测试,学生才会明白具体的操作方法,便于学生进行重复。
为了达到好的教学效果,我们通常是将这三种方式进行结合,取它们的优点。比如,在讲解表达式计算的例子时,我们将表达式写在黑板上,用传统教学法对计算顺序进行分析,学生也会跟着一起思考,这样就可以将问题讲得透彻;在给学生讲递归程序时,我们会将事先做好的递归分析的幻灯片展示给学生看,让学生明白其中包含的递推和回归两个阶段;在给学生演示调试方法时,我们会将一个有些错误的程序在编程环境中进行编译,发现错误,分析并改正错误,然后再编译,如果发现错误再进行修改,如此往复,直到整个程序没有错误为止。在这个过程中,我们通过现成的例子,给学生展示了查错和排错的全过程,比起另外两种教学方法,通过直接现场演示将更加直观。
(二)测试驱动开发
测试驱动开发是一种新的快速软件开发方法,它的基本思想是用测试推动整个软件开发的进行。在C语言教学中引入测试驱动开发,可以给学生提供了一种新的解决问题的思维模式。这种方法的基础步骤是:首先编写一段个人认为能够解决问题的程序,接着运行程序,如果出错,就检查并排除错误,循环往复,直到没有语法错误。然后,挑选一些典型的测试用例对程序进行测试,看是否能够得到想要的结果,如果某些例子的运行结果出现错误,这就是语义上的错误了,需要对源程序进行修改,直到所有的测试用例都通过为止。
另外,测试与调试是密不可分的。调试中要进行大量的测试,测试中(特别是白盒测试)也要借鉴调试的方法。采用测试驱动开发,通过列举一些典型的测试用例,让学生重视调试和测试,深入理解程序运行过程,确保程序的正确性与质量。
(三)项目引导,分组练习
学习编程的目的就是用来解决实际问题的。为了提高学生的实践动手能力,我们在第一次课就给学生布置了一个项目——学生成绩管理系统。这是学生非常熟悉的问题,对该问题的需求分析就很容易获取了。随着课程的推进,我们会要求学生用不同的数据结构和算法来完成这个项目,可以将整个课程的内容都融合到项目中,让学生对实际问题的解决方法有了一定的了解。
在给学生布置任务时,我们进行了分组,其目的是提高学生的分工协作能力。我们要求学生2到4人为一组,写清楚每个成员要完成的任务,分开进行编程后,再合并成一个大的程序。对于做得好的小组,还会给予一定的奖励。在分组练习过程中,学生可以互帮互助,分工协作,很好地锻炼了他们的团队意识和实践动手能力。
四、总结
本文针对C语言教学中出现的问题,将多种教学方法、测试驱动开发、项目引导和分组练习引入到C语言课程的教学中,让学生较好地掌握了基础知识,同时实践动手能力得到了锻炼,培养了学生的团队协作能力。实践证明,通过对教学方法进行改革与探讨,可以大幅度提高教学效果,受到学生的普遍欢迎。
参考文献:
[1]伍鹏. 浅析C语言初学者应注意的几个问题[J]. 电脑知识与技术. 2011(12): 9123-9125.
[2]伍鹏, 谢凯. 基于测试驱动开发的C语言教学研究[J]. 软件. 2012(05): 103-104.
[3] 谭浩强. C语言程序设计(第四版)[M]. 北京:清华大学出版社. 2010.03.
作者简介:
伍鹏(1978-),男,硕士,讲师,现主要从事计算机应用方面的教学及研究工作。
杜红(1964-),女,硕士,副教授,现主要从事计算机应用方面的教学及研究工作。
谢凯(1975-),男,博士,教授,主要研究方向是图像处理与三维可视化。
基金项目:
本文系长江大学重点教学研究项目(JY2012009)
【关键词】C语言教学 教学方法 程序设计
一、引言
“C语言程序设计”课程是信息类专业的一门重要专业基础课程,在整个课程体系中占有重要的地位。C语言学习的好坏,将直接影响着学生进一步学习其它与编程相关的课程的学习效果。因此,作为学生接触到的第一门计算机语言,C语言成为了学生学习其它相关课程的基础和必备技能,学生必须认真对待,将C语言学好。
为了实现这个目标,教师在教学时采用的授课方式和管理方法将起着关键的作用。在本文中,我们结合多年的教学经验,首先分析了初学者面临的一些问题,然后提出了相应的教学改革措施。这些方法在近几年的教学实践中不断总结与完善,获得了很好的教学效果。
二、初学者面临的问题
计算机语言是人与计算机进行交流的语言,它的学习方法与人类的语言的学习方法有很大的相似之处,都是需要掌握一些词汇、语法,然后进行大量的实践,才会掌握这门语言。
对于初学者,如果一开始就专注于语法,就会觉得C语言学习起来很费劲,甚至会出现厌学情绪,极大地削弱了学习的积极性。因此,在刚开始接触C语言时,不要花费太多的精力去学习语法,而是要采用模仿的方式,学会使用一些常用的语句,解决与例题相似的问题即可。另外,初学C语言时,要将重点放在阅读程序上,而不要一开始就去编写程序,因为在理解了一些常见的程序之后,学生一方面学习了常用的表达法,另一方面,也熟悉了解决问题的步骤与方法,有了这些基础,再去编程解决其它问题就会容易得多。
当然上面提到的两个问题,是为了让初学者好入门,在学习的过程中采用循序渐进的方式,使学生在保持积极性的前提下学会一些基础知识。对于C语言中的重难点部分,如函数和指针,如何让学生理解它们的用法,则需要一定的教学方法进行辅助,才能达到较好的效果。
三、教学方法与改革措施
(一)板书、多媒体和现场编程教学方式的结合
传统的教学方式是通过板书来进行的。这种方式可以将知识点讲得很细致,容易被学生所接受。然而,板书式教学不是很适合操作性很强的课程的教学,因为这些课程需要给学生作一定的演示,才能获得好的效果。于是,多媒体教学应运而生,教师只要事先做好幻灯片,在课堂上,按一定的顺序演示给学生看就可以了。这种方式可以引入图文声像等各种素材,让学生了解围绕所讲内容的很多信息。不过这种方式也有些问题,需要教师把握好进度,因为信息量很多,就要考虑学生能否接受的问题了。对于编程课程,教师还需要在编程环境中给学生做好现场编程测试,学生才会明白具体的操作方法,便于学生进行重复。
为了达到好的教学效果,我们通常是将这三种方式进行结合,取它们的优点。比如,在讲解表达式计算的例子时,我们将表达式写在黑板上,用传统教学法对计算顺序进行分析,学生也会跟着一起思考,这样就可以将问题讲得透彻;在给学生讲递归程序时,我们会将事先做好的递归分析的幻灯片展示给学生看,让学生明白其中包含的递推和回归两个阶段;在给学生演示调试方法时,我们会将一个有些错误的程序在编程环境中进行编译,发现错误,分析并改正错误,然后再编译,如果发现错误再进行修改,如此往复,直到整个程序没有错误为止。在这个过程中,我们通过现成的例子,给学生展示了查错和排错的全过程,比起另外两种教学方法,通过直接现场演示将更加直观。
(二)测试驱动开发
测试驱动开发是一种新的快速软件开发方法,它的基本思想是用测试推动整个软件开发的进行。在C语言教学中引入测试驱动开发,可以给学生提供了一种新的解决问题的思维模式。这种方法的基础步骤是:首先编写一段个人认为能够解决问题的程序,接着运行程序,如果出错,就检查并排除错误,循环往复,直到没有语法错误。然后,挑选一些典型的测试用例对程序进行测试,看是否能够得到想要的结果,如果某些例子的运行结果出现错误,这就是语义上的错误了,需要对源程序进行修改,直到所有的测试用例都通过为止。
另外,测试与调试是密不可分的。调试中要进行大量的测试,测试中(特别是白盒测试)也要借鉴调试的方法。采用测试驱动开发,通过列举一些典型的测试用例,让学生重视调试和测试,深入理解程序运行过程,确保程序的正确性与质量。
(三)项目引导,分组练习
学习编程的目的就是用来解决实际问题的。为了提高学生的实践动手能力,我们在第一次课就给学生布置了一个项目——学生成绩管理系统。这是学生非常熟悉的问题,对该问题的需求分析就很容易获取了。随着课程的推进,我们会要求学生用不同的数据结构和算法来完成这个项目,可以将整个课程的内容都融合到项目中,让学生对实际问题的解决方法有了一定的了解。
在给学生布置任务时,我们进行了分组,其目的是提高学生的分工协作能力。我们要求学生2到4人为一组,写清楚每个成员要完成的任务,分开进行编程后,再合并成一个大的程序。对于做得好的小组,还会给予一定的奖励。在分组练习过程中,学生可以互帮互助,分工协作,很好地锻炼了他们的团队意识和实践动手能力。
四、总结
本文针对C语言教学中出现的问题,将多种教学方法、测试驱动开发、项目引导和分组练习引入到C语言课程的教学中,让学生较好地掌握了基础知识,同时实践动手能力得到了锻炼,培养了学生的团队协作能力。实践证明,通过对教学方法进行改革与探讨,可以大幅度提高教学效果,受到学生的普遍欢迎。
参考文献:
[1]伍鹏. 浅析C语言初学者应注意的几个问题[J]. 电脑知识与技术. 2011(12): 9123-9125.
[2]伍鹏, 谢凯. 基于测试驱动开发的C语言教学研究[J]. 软件. 2012(05): 103-104.
[3] 谭浩强. C语言程序设计(第四版)[M]. 北京:清华大学出版社. 2010.03.
作者简介:
伍鹏(1978-),男,硕士,讲师,现主要从事计算机应用方面的教学及研究工作。
杜红(1964-),女,硕士,副教授,现主要从事计算机应用方面的教学及研究工作。
谢凯(1975-),男,博士,教授,主要研究方向是图像处理与三维可视化。
基金项目:
本文系长江大学重点教学研究项目(JY2012009)