首页 -> 2007年第3期
《C语言程序设计》教学探索
作者:陈志英
关键词:C语言程序设计;案例教学;任务驱动
C语言是通用的计算机程序设计语言。许多职业学校,在高职学生和中职学生中都开设了《C语言程序设计》课程。学习程序设计必须具有语言、算法、数据结构和程序设计的方法等方面的知识,而C语言本身又比较复杂,较难掌握,所以《C语言程序设计》的教学内容理论性较强,学生容易产生厌烦情绪。C语言教学一般以Turbo C为主,Turbo C的调试环境不是可视化的过程,这在客观上造成了学生掌握C语言程序设计知识的难度。在职业学校中,《C语言程序设计》的授课时数一般为76课时左右。通过对我校高职计算机专业学生的观察和调查,学完C语言后能熟练掌握、灵活运用的学生为5%左右,基本掌握的学生为25%左右,大部分学生只能是应付考试,甚至还有5%的学生采取放弃的态度。为了改善C语言的教学状况,使学生能真正掌握这门课程的知识,有必要依据学生的层次及所选的专业对《C语言程序设计》的教学内容、教学方法等方面作一些探索。
依据培养学生的目标,合理调整教学内容
中职层次中等职业教育的目的是培养生产一线应用型人才,着重培养学生的学习能力、就业能力、工作转换能力和创业能力。中职学生的学习基础差。所以,如果在中职学生中开设《C语言程序设计》的课程,则必须考虑中职学生的学习基础,并依据中职学生的培养目标,适当降低理论知识的难度和深度,教学内容力求浅显易懂。以谭浩强主编的《C语言程序设计》一书为例,以76课时为总授课时数,一般要求学生掌握程序设计的三种基本结构、数组、函数等内容即可。对于其中过繁过深的例题、习题可省略,如“用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根”之类的题目。对于重点、难点的教学内容必须进行详细讲解,如“选择结构中的闰年的判断”、“循环结构中的素数的判断”等经典例题必须设计易于学生接受的教学方法,使学生消化吸收。强化练习也不能缺少,但也不能搞题海战,要巧设计(题意新颖有趣,贴近实际)、巧安排(当学生跃跃欲试之时布置题目最有效)。总之,教学目的是使学生真正掌握并力求能熟练灵活运用教师所讲授的知识内容。
高职学生高职教育着重培养具有实际工作能力的技术型和应用型人才。高职学生一般比中职学生学习基础都要高一个层次。所以,高职学生对知识的理解力相对也要强一点。因此,除了每堂课的容量要增加外,教师还需要有意识地留一些知识点给学生自学,以培养他们自主学习的能力。其次,教学内容也应有所增删,尽量使教学内容多和实际的程序设计相联系。对于一些经典例题要讲清所采取的解决方法,如“小猴吃桃”问题,必须讲清“递归”方法及“递归”问题中“回推”和“递推”的两个阶段,并且还要讲清如何设计结束“递归”过程的条件。根据实际教学经验,同样以谭浩强主编的《C语言程序设计》一书为例,以76课时为总授课时数,一般高职学生能掌握:程序的三种基本结构、数组、函数、指针、结构体、文件等内容。当然,对于计算机专业的高职学生还必须掌握更深层的知识内容,并且要求学生参加国家二级C语言程序设计等级考试。
以激发学生的学习兴趣
为目的,改革教学方法
传统的《C语言程序设计》课程的教学是以课堂为中心的满堂灌,其中上机一般占30%左右。《C语言程序设计》的授课一般以Turbo C为主,Turbo C的调试环境很不直观,使学生不容易理解。因此,尽管C语言有实用价值,但生涩的教学内容,不易引起学生的学习注意,如果不讲究教学方法,则难以达到课程的预期目标。为了改变这一状况,教师必须利用现有资源重新整合教学内容,改进单一、乏味的教学方法,力求显现在学生面前的知识有趣而生活化,以提高学生的学习兴趣及学以致用的能力。案例教学法、任务驱动式教学法等都是当前比较受推崇的教学方法,代表着先进的教学理念,但并不等于适合任何一门课程的教学,必须加以革新后才能应用到具体的教学过程中去。
采用案例教学法,激发学生的学习兴趣所谓案例是指那些在日常生活中较能典型地反映教学内容的事例。一般的课堂举例并不等同于案例教学。案例教学是指在教学过程中,引导学生对案例进行剖析研究,使学生能由特殊归纳一般,掌握知识内容,从而达到教学目标的教学方法。教师在准备案例的过程中,首先要确定哪些是要学生掌握的知识点,然后再精选能够说明、反映这些知识点的案例。在案例的设计中要不拘一格,巧妙使用可视化的程序设计语言或Flash动画设计软件。不要拘泥于C语言的语句格式,而要注重案例的生动、形象,能否真正激发学生的学习兴趣。只有激发了学生的学习兴趣,学生才会自觉、主动地记忆C语言的语句格式。如在讲授选择结构中的多路选择结构时,利用VB程序设计语言设计一个红绿灯自动变化(红灯:2秒;绿灯:3秒;黄灯:1秒)的案例,使学生掌握多路选择结构,更主要的是使学生了解多路选择结构的用途(如表1所示)。实践表明,在案例教学的过程中,学生兴趣高,教学容量大,知识点的前后联系紧密,学生对通过案例教学的方式传授的知识点印象深,能灵活运用。
应用“任务驱动”教学方式,提高学生分析问题和解决问题的能力在《C语言程序设计》的教学中,当传授完一个知识点或知识结构时,为了使学生能灵活运用,经常会采用再现式教学。如何将再现式教学转变为以解决问题、完成任务为主的探究式教学呢?答案是采用“任务驱动”式教学方法。所谓“任务驱动”,就是学生通过完成教师布置的任务,建构真正属于自己的知识与技能。其中的任务既蕴含了学生应该掌握的知识与技能,也蕴含了学生应该获得的能力训练。学生完成任务的过程,是一个不断提出问题、解决问题的过程。如在复习选择结构时,可以借助Flash动画制作一个模拟“打火机的点火效果”,其中火苗的出现与否即让按钮实现点火的功能,就可以利用Turbo C程序设计中的if条件语句来实现。在教学过程中以问题为导向,并引导学生解决问题(如表2所示)。
在教学过程中还有很多有效的教学方法,如展示型教学、拓展式教学等,教师要结合实际情况灵活运用。
在当今的信息社会中计算机的应用非常广泛,各行各业需要不同层次的计算机专业人才。所以,学校在进行计算机教育中应依据培养目标提出不同的教学要求。对于每一个学习计算机知识特别是C语言的学生,都有一个由浅入深、逐步提高的过程。教师在这个过程中必须激发学生的兴趣,更新教学理念,充分利用、整合各种教学资源,注重教学方法的探索,真正使C语言这门课程成为学生学习其他计算机知识的基石。
参考文献:
[1]陈跃红.《液压传动》教改探索[J].职业教育研究,2005,(12).
[2]谭浩强.C语言程序设计[M].北京:清华大学出版社,2000.