摘 要:进入21世纪的今天,计算机技术知识发展日新月异、技术淘汰快,计算机学科的教学理念也要不断地变化,从产品教学中走出来、在传授知识过程中培养学生的技能和素质,才能顺应时代的潮流,培养出高质量的人才。本文结合教学实践,探讨c语言程序设计教学的中遇到的问题及解决方案。
关键词:C语言;程序设计教学;探讨
一、C语言程序设计教学的问题
1.1学生的问题:
尽管中学教学大纲对计算机要求提高,但学生只是对键盘和鼠标比过去的学生要熟练许多,但计算机理论以及操作的水平并未真正提高,绝大多数同学仍然是零起点,而且把许多精力放在不必要的方面。另外,大学生对计算机学习的期望值很高,但对学习将遇到困难的心理准备不足。学生认为应试教育天经地义,不懂得主动学习。
1.2 C语言课程的问题:
OOP是目前主流的编程技术,而我们教授的是C语言加TURBO C的上机环境,到真正使用时还得学习C++、MFC编程、VC++编程环境。而且C语言课程枯燥、难学,没有反映现代程序设计思想和内容。再加上本科生总学时数下降,尽管计算机课程重要性上升,但总学时不可能增加,白皮书中C语言的建议学时是每周讲授3+实验4,而一些二本院校给语言课的学时是平均每周讲授2+实验1。这样的条件下,直接开设C++、VC++编程,是十分困难的。加上实验平台相对陈旧,未能使用主流的图形化的面向对象的环境,学生普遍反映:难!没意思!
1.3 教材的问题:许多教材考虑到知识内容的系统性,对语法知识细节面面俱到,容易对教师教学和学生学习起到一定的误导作用。
二、教学指导思想及改进方法
笔者认为,在教学中应该以能力培养为目标,突出程序设计,强调算法而不是语法。立足于白皮书指出的让学生学到实实在在的应用技能。基础教学与实践教学相结合。突出编程能力的培养。这种教学指导思想主要体现在以下几个方面:
2.1 突出程序设计的方法和技术首先应淡化语法、强调算法:
突出程序设计的方法和技术首先应淡化语法、强调算法。注意介绍有关独立于任何特定编程语言的算法概念和结构,即突出程序设计而不是语法。强调算法,并不是忽视语法,而是不要繁琐的钻牛角尖的语法,我们要的是基本的常用的语法,但更多的是模仿。不是知道的语法越多,程序编得越好,而是自己动手编程越多,程序编得越好。重点攻算法,带动基本语法的学习,也可以大大节约学时,降低教学难度。教学上有重点与没有重点是大不相同的,平均使用学生的精力和学时是不可取的。“伤其十指,不如断其一指”。教学与打仗是一个道理。教学目的不同,所取的重点也是不同的。这种以关键技术为重点的方法是突出程序设计的方法和技术。为今后自学和面向应用打好基础。
2.2 教学过程中要正确处理编程细节与大局观:
在C语言教学过程的前一阶段,在描述算法的过程中,可以侧重于C语言编程的细节的讲解。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强,使学生的编程能力上一个台阶。建议在函数、数组以后的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C语言的算法本身的描述和程序整体的构造。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
2.3 培养学生调试程序的能力:
学生尚未入门时具体指导尤其重要,在辅导实验时只可能解决少数学生的少数问题,提倡上机时学生互相讨论互相帮助。较难的题提倡同学之间先讨论再独立完成,而不要学生一问,就帮他解决问题。初级阶段主要是模仿。要有讲评,这是一个总结提高的过程。教师在教学初期的课堂教学中应多做应用程序设计全过程演示。学生调试程序的能力主要在这时培养,不仅是C和C++,而且以后“微机系统”等后续课程用Debug调试各种程序的基本功都是在这里打下的。辅导上机,主要指导学生怎样跟踪程序的运行,怎样设置被监视的变量,怎样设置断点,怎样单步运行,怎样使用Debug工具。授之以鱼,不如授之以渔。帮同学调通一个程序,不如教会同学怎样去调程序。
2.4 尽早引入面向对象的思想:例如当介绍基本数据类型时,传统的教学方法是说同一种算法用于不同的数据类型时结果是不同的,意思是算法是通用的。而实际情况是算法是与数据捆绑在一起的,不同数据有自己的独立的算法集,即数据是与其操作封装在一起的,本质上是面向对象的。让学生刚开始学习就接触面向对象的思想,是非常重要的。力图把面向对象与面向过程有机地结合起来。面向过程突出了算法,学生易接受,C++教学不应该不讲面向过程的部分。C语言虽然突出面向过程,但必须尽早引入面向对象的概念。学生刚进入编程能力培养的实质阶段,学习的就是面向对象的程序设计,这样,大学生才能顺利接受面向对象思想。当然,许多学校由于学时数少的原因,大多未能做到这一点。
2.5 随时更新的教学资料:
教材是死的,总是滞后于实际教学的。而教学是活的,是随时在发展的。为此所有任课教师都应准备大量的不断更新的教学资料,并互相交流。
2.6 改革考核方式,强调实验考核的重要性:
实验考核采用上机考试和平时练习相结合的方式;平时练习包括自测作业、主题作业和大型作业的完成情况,利用“考试指挥棒”引导和督促学生加强平时的学习和训练,也是非常重要的。
2.7 其他方面,在课堂教学、自学、上机实践、课外辅导和考核等教学环节中充分利用一系列网络化辅助教学平台,包括课程学习平台、作业平台和考试平台,辅以配套的教学资源,为学生营造一个良好的自主学习氛围;鼓励学生根据自身水平和兴趣,选择适合的学习和实践训练方式,自主安排学习进程,使自己得到充分的发展和提高。
参考文献:
[1] 吴小鸥.问珍 大学课堂教学[J].现代大学教育,2004;(1)
[2] .张家艳,郑璐.大学课堂教学与改革[J].中国高教研究,2003;(10)