《C语言程序设计》课程教学探索

2022-10-26

C语言是在国内外广泛使用的一门计算机语言, 具有功能丰富、表达能力强、使用灵活、移植性好等特点, 是学生学习计算机语言的一门很好的入门语言, 不仅是计算机专业学生的专业基础课, 而且也是很多非计算机专业学生的必修课程, 由此可见C语言占有非常重要的地位。但是由于C语言牵涉到的概念比较复杂, 规则较多, 使用灵活, 容易出错, 不少初学者感到学习困难。因此, 在C语言的教学过程中, 采用合理的教学方法, 对于提高教学质量至关重要。下面谈谈我的一些经验和体会, 以供大家参考与讨论。

1 培养学生的学习兴趣

由于我院开设的《C语言程序设计》面向的主要是大一的学生, 这些学生中的大部分都对计算机的程序设计语言一无所知, 没有接受过系统的学习, 所以, 一开始接触这门课程, 可能会觉得非常茫然, 感觉无从下手, 因此, 必须在第一次上课时就充分调动起学生的积极性, 培养他们的兴趣和信心。

所以, 老师在上第一次课的时候, 可以先不要着急去介绍C语言的一些比较专业的基本概念和语法规则, 而是从C语言出现的历史背景、C语言的优点以及本课程的开设原因, 给学生们做一个全面的介绍。在介绍C语言的开设原因时, 应该结合学生的具体专业来介绍, 解释C语言与前面课程以及后续课程的关系, 比如C语言和数据结构, C语言和算法的关系等。让学生了解本课程的重要性, 引起学生对本课程的足够重视。通过这样的教学安排, 第一次课基本上可以达到提高学生学习C语言的兴趣, 认识到C语言的重要性, 树立学习C语言的信心的目的。在第一次课激发了学生学习C语言的兴趣和积极性后, 一定不能让学生的热情冷却, 而应该以此为契机, 现场给学生编写一个短小精悍的程序, 运行输出结果, 让学生看到C语言的神奇效果, 激发学生的学习欲望, 积极主动的进入C语言的学习世界。在后续的课堂教学过程中, 采用提出问题分析问题解决问题的方法, 从具体问题入手, 引导学生找出解决问题的方法, 每次介绍新的知识之前, 都应该先精心设计一个或几个包含了新的知识点的实例, 先给学生演示一下程序的运行效果, 让学生先对这些例子产生兴趣, 这对于提高学生学习的自觉性, 活跃课堂气氛可以起到积极的促进作用。最后总结所用的语法和规则, 使得学生对语法的理解更为容易。

2 采用启发、引导的教学方法

《C语言程序设计》本身是一门非常灵活的课程, 任何问题都没有唯一的答案, 也没有最好的答案。因此, 老师在课堂上可以先给出一种程序解答方法, 然后留出一些时间让学生思考, 还有没有其他更好的程序设计方法和思路。比如在讲判断一个数n是不是素数的问题时, 我们可以先从最传统、最容易理解的思路入手, 看看n能不能被2到n-1中的任何一个数整除, 接着我们可以在这个地方稍微停顿一下, 让学生思考一下能不能对这个算法做一下改进, 这时, 有的学生可能会提出把除数的范围缩小到2到n/2, 最后再缩小到2到, 利用这种方法会比老师直接给出用n去除以2到中数的方法让学生印象更加深刻。这样不仅可以巩固学习成果, 提高解决问题的能力, 也可以丰富课堂内容, 起到教学相长的效果。

3 有选择地运用多媒体教学

以前由于教学条件的限制, 教师上课时只能采用传统的黑板教学, 在黑板上面写出程序代码, 说出运行结果, 这样很难让学生对程序运行的过程、函数的调用、参数的传递、变量值的变化认识清楚, 将多媒体教学引入课堂后, 可以在课堂上利用教师机现场演示, 利用VC++的设置断点, 单步跟踪等方法, 一步步演示, 这样学生一看就清楚了。例如在给学生讲数组的时候, 通过下标的方式来访问数组元素, C语言规定, 数组元素的下标是从0到n-1 (n是数组的长度) , 但很多学生在写程序的时候, 往往忽略这一点, 在访问数组元素的时候使用n, 出现下标越界的错误, 这时, 老师便可以在VC的调试环境中, 结合变量的地址或指针的概念, 给学生解释越界出现的原因, 这样才能让学生理解深刻。又例如, 在讲“冒泡”排序算法时, 教师可以用多媒体课件给学生演示排序的经过, 既形象又生动。因此, 在《C语言程序设计》课程教学过程中, 将传统的教学方法和现代多媒体教学相结合, 将大大提高学生的综合思维能力, 达到最佳的教学效果。

4 强化实验环节

《C语言程序设计》是一门实践性很强的课程, 如果只是单纯地在课堂教学, 而没有实验教学, 仍然只是纸上谈兵, 无法真正让学生掌握知识的应用。所以实验环节是整个学习过程中不可缺少的一个重要组成部分。只有让学生动手编写程序, 运行出来结果, 学生才会有成就感, 才会对这门课产生兴趣。但是, 教材上面的题目往往比较注重语法的训练, 而离实际应用较远, 所以, 大部分学生在完成书上题目时比较顺利, 可以一遇到利用C语言来解决实际问题时, 便束手无策, 无从下手了。所以, 为了锻炼学生解决较大型复杂问题的能力, 老师在安排实验课内容时, 可以布置一个大题目作为长期任务, 再按不同功能模块分解开来, 形成一个个短期任务。每次实验课要求学生完成其中一个或几个简单的功能模块, 这样, 每次实验课就好像一条铁链上的一个个铁环, 紧密联系。以“学生信息管理系统”为例, 把这个系统作为一个长期任务, 然后把这个系统划分为若干个小的模块。比如输入输出学生信息、添加学生信息、修改学生信息、查询学生信息等模块。这样, 当学生完成每一个功能模块后, 便发现原来自己实现的是一个复杂的程序。通过这种方法, 一方面可以大大降低学生对大型复杂程序的惧怕心理, 另一方面也可以培养学生结构化程序设计方法的思想。

5 综合考核法

目前, 大部分课程最后的考核方式都是通过考试进行的。但是这种方式不适用于《C语言程序设计》, 这是由课程本身的特点决定的。一方面, 该课程包含了课内实验, 另一方面, C语言是一门实践操作性很强的课程, 光通过选择题、填空题不能真正检验出学生的学习水平, 而应该把考核的重点放在程序的编写和调试上。

所以, 建议本课程最后采用综合考核的方式。考试的方式分为笔试和上机考试。理论考试主要考核学生对理论知识的掌握程度, 上机考试则主要考核学生的动手能力。。最后的总评成绩中还应该包含学生的实验课成绩, 以及课堂表现成绩。这种考核方式增加了对学生学习过程的测评, 这种方法不但能更客观地反映学生的学习情况, 同时也能促进学生自主学习, 起到很好的教学效果。

6 结语

以上是作者在近几年的C语言课程教学过程中总结出来的几点教学经验, 通过上述方法, 在实际的教学过程中取得了良好的教学效果。

摘要:C语言程序设计是理工科学生的必修课, 也是学习计算机语言的入门语言, 本文对C语言程序设计的教学方法进行了探讨, 在提高学生学习兴趣、加强实验环节、改进考核方式等方面提出了几点意见。

关键词:C语言,教学

参考文献

[1] 谭浩强.C程序设计 (第3版) [M].北京:清华大学出版社, 2005.

上一篇:《金属材料与热处理》教学设计策略探索下一篇:分组教学模式在大学健美操教学中的运用探析