C语言在高职计算机专业中的地位论证及问题改进

2010-02-18 02:50张亮
职业教育研究 2010年10期
关键词:C语言计算机专业语法

张亮

(扬州工业职业技术学院 江苏 扬州 225127)

C语言在高职计算机专业中的地位论证及问题改进

张亮

(扬州工业职业技术学院 江苏 扬州 225127)

C语言是高职院校计算机专业的一门专业必修课,由于C语言本身的复杂性和高职教育的特殊性,C语言教学取得的效果并不理想。特别是随着Java等高级语言的不断涌现,C语言的地位也受到了动摇。本文主要论证了C语言在高职计算机专业中应有的地位,分析了目前C语言教学中存在的主要问题,并提出了改进方法。

高职;计算机专业;C语言;教学方法

随着我国经济的持续高速发展,社会对高素质计算机应用技术人才的需求越来越迫切。为了适应这一形势,目前在我国一千余所高职院校中,绝大部分都已开设了计算机应用专业课程。在编程语言教学的选择上,与本科院校类似,几乎所有的高职院校都选择了C语言作为计算机专业学生的首门编程学习语言。然而,因为C语言本身的特性,再加上高职教学方法上的特殊性,长期以来C语言课程的教学效果并不理想。并且,随着Java、C#等易于上手且具有图形化可视界面的编程语言的流行,有观点认为C语言已经不适应高职强调应用性教学目标的要求,应该一步到位直接讲授能够快速开发的高级语言。笔者拟对这一论点进行探讨,并对C语言课程教学方法的改进提出看法。

C语言在高职计算机专业中的地位

C语言从20世纪70年代被发明之后,因其具有高效、灵活、功能丰富、表达力强及移植性好等优点,迅速成为业界最流行的程序设计语言。C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点,主要用来编写系统程序和高效的应用程序。可以说,C语言影响了全世界几代程序员的成长。然而,随着近年来大量高效直观的快速开发语言的不断出现,在业界出现了激烈的争论,有观点认为C语言已经过时,其过于底层的特性和过于繁杂的细节特点,使C语言的学习门槛过高,阻碍了程序的快速开发。一些在快速开发语言如Java、C#中能快速实现的功能,在C语言中可能需要大量复杂的代码才能实现。有偏激者甚至发出了“C语言已死”的论调。这一思潮不可避免地影响到高职院校的C语言教学,很多学生对开设C语言课程产生了质疑,认为这门课程既难学、又看不到任何成果,不如Java等语言很快就能编写出有漂亮图形界面的程序。甚至有部分教师也认为既然高职教育是培养应用型人才的教育,就应该抛弃过于理论化的C语言,直接讲授Java等语言。本人认为,虽然目前高职C语言教学中确实存在种种问题,但这并不能否定C语言在计算机科学中的基本地位,C语言在高职计算机专业中核心课程的地位必须得到肯定。

C语言是其他高级语言的基础 自C语言发明以来,其优秀的设计影响了众多后续编程语言,目前流行的C++、Java、C#等语言都是从C语言的语法基础上发展出来的,其基本的语法语句结构都与C语言基本相同。可以说,学好了C语言,对学习后续其他语言有极大的帮助,掌握了C语言的基本语法语句结构,只需稍加学习,就可以掌握如Java等语言的基本语法,从而可以集中精力学习该编程语言所提供的独特的高级特性,达到事半功倍的效果。反之,如果C语言基础不牢靠,学习其他高级语言必然会遇到相同的问题。

C语言在很多领域的地位无法替代C语言具有其他高级语言无法比拟的速度优势,在操作系统、设备驱动程序、嵌入式设计等开发领域的地位其他语言不能替代。著名的Unix操作系统、Windows操作系统都是用C语言编写实现的。由于C语言的高效,在强调速度和效率的基础软件领域,C语言还将是永远的王者。在嵌入式开发领域,C语言已经逐渐取代汇编语言成为主流的开发语言,因此,学好C语言是学好这些后续课程的必备条件。

C语言有助于对计算机编程底层原理的理解 Java、C#等高级语言之所以易于上手,易于开发,最根本的原因在于其对很多底层功能的封装。这类语言都提供了大量的封装好的库和接口,在程序中只需要调用,就能实现相应的功能,而不需要了解系统底层的细节。这样的好处是极大地简化了程序开发的难度。但是,作为计算机专业的学生,随着本身水平的提高和学习的深入,以及以后在实际工作中开发任务难度的加大,对系统底层实现机理的理解和掌握都是非常必要的。这个时候回头再看C语言,其被人诟病的繁杂和难于掌握的特性,如内存分配、指针操作、字符串操作等,实际上正是系统底层的操作方式,在其他高级语言中,这些都已经被封装,对开发者来说是透明的,如果没有学习过C语言,开发者可能永远不了解这些功能在系统中是如何具体实现的。虽然可以方便地使用这些功能,但只是知其然而不知其所以然,碰到一些比较复杂的情况,因为不懂原理,只能束手无策,这样的水平,对计算机专业的学生来说是不合格的。

鉴于此,C语言在高职计算机专业课程中的地位不但不能被动摇,还应该进一步加强。

高职C语言教学中存在的主要问题

当前,高职计算机专业C语言教学中存在着很多问题,学生觉得难学,教师也觉得难教。

教材的问题 目前虽然市面上已经有了很多种高职专用的C语言教材,但其实绝大多数与本科院校采用的教材内容区别不大,顶多在一些较难的知识点上有所简化,并没有一本完全根据高职学生特点所编写的教材。普通本科的C语言教学强调理论,强调逻辑思维,这对本科生是适合的,然而绝大多数高职生在理论分析、逻辑思维方面水平较低,这样的教材对他们来说,难度过大,学习起来困难,而且过于理论化的内容与高职强调面向应用的教学目标也不太协调,学生上课听不懂,教材又过于枯燥,学习兴趣自然就会大大减弱。

开发环境的问题 在C语言开发环境的选择上,很多学校仍然非常落后。计算机编程技术的发展一日千里,在实际开发领域,各种新的开发工具早已得到了普遍应用,如VC6.0、VS2005、VS2008开发环境,GCC编译环境,C99标准等。然而很多学校居然还在沿用20世纪90年代的基于DOS操作系统的TC2.0开发环境,这一环境界面简陋,使用困难,特别是对于C语言的一些特性的支持并不完善,使用这样的开发环境,无谓地加大了学生学习的难度,且完全与实际脱节,学生有所抵触也是正常的。

教法的问题 在教法上,目前绝大多数高职院校仍然采用传统的课堂讲授加上机实验的方法,教师在课堂上教授基本的语法、语句等理论知识,学生在上机实验时对书上的程序进行验证。由于目前绝大多数教师都缺少企业实践的经历,在课堂上也没有办法结合实际给学生讲授C语言的具体应用,只能机械地灌输。同样,学生上机时也只能机械地验证书上一些简单的例题和书后习题。这些习题考查的是语法知识,与实际应用基本无关,学生兴趣也不是很大。

考核方法的问题 对于C语言的考核,各校基本采用的仍然是传统的卷面考核方式,部分学校还把计算机二级考试与课程考核结合起来。不可否认,这样的考核方式对于学生掌握基本的语法理论知识是有益的,然而对实际软件开发能力的培养是毫无用处的。特别是C语言二级考试,其对于某些语法细节的考查已经到了有些偏执的地步,很多东西在实际中根本不可能碰到,过于纠缠这些细节只能使学生失去学习的兴趣。另外,这些考试基本上对于编程题都是按步给分,一道题目如果大部分都对了也能得到不错的分数。然而,在实际开发中,即使少一个分号,最终的程序也是没有办法运行的。因此,目前的考核方式使得大多数学生实际编程能力很差。即使是考试成绩很好的学生,让他真正上机编程序时也是错误百出。

改进方法的探讨

为了进一步加强和改进C语言的教学效果,对照存在的问题,笔者认为,有下列几点改进迫切需要进行:(1)尽快编写适应高职学生特点、符合高职教育目标的C语言教材;(2)各校应加大投入,升级机房软、硬件配置,尽量采用业界流行的主流版本的C语言开发环境;(3)加大计算机专业专任教师的培训力度,如有可能,最好能通过校企合作,让教师深入一线,参与实际项目的开发,才能在本质上提高C语言的课程教学水平;(4)改进考核方式,加大上机考试的比重,取消按知识点、按步骤给分的传统做法,改为按程序最终运行结果判定成绩,迫使学生注重实际动手能力的培养。

综上所述,C语言在高职计算机专业教学中的基础核心地位绝对不应该被动摇,对于当前C语言教学中存在的种种问题,各高职院校应加强教学改革,并积极开展合作和交流,在以后的教学中逐步改进。

[1]郭美云.高职《C程序设计》教材改革探讨[J].当代教育论坛,2008,(1).

[2]沈建国.浅谈高职院校C语言课程的教学改革[J].无锡商业职业技术学院学报,2008,8(3).

[3]段群,梁新月.高职《C语言》课程教学存在问题及改革思路[J].福建电脑,2009,(1).

(本文责任编辑:尚传梅)

G712

A

1672-5727(2010)10-0119-02

张亮(1981—),男,回族,江苏扬州人,工学硕士,扬州工业职业技术学院助教,主要从事计算机专业课程教学及科研。

猜你喜欢
C语言计算机专业语法
新工科背景下计算机专业创新创业人才培养探究
中职计算机专业产教融合混合式教学研究与实践
“以赛促学,以赛促教”促进计算机专业教学理念创新与实践研究
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
跟踪导练(二)4
基于C语言的计算机软件编程
参考答案
高职高专院校C语言程序设计教学改革探索
计算机专业理实一体化实践教学模式研究