1、高职 C 语言教学创新 1 前言C 语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,能完成用户的各种任务,特别适合于进行系统程序设计和对硬件进行操作的场合。全国计算机等级考试、全国计算机应用技术证书考试和全国各地区组织的大学生计算机统一考试都将 C 语言列为考试范围。长期以来 C 语言的教学内容已经形成较为成熟的体系结构,各种教材都大同小异。通过调查我们发现,从大学到高职,大多数学生都反映 C 语言难学,全国二级考试的通过率也较低,尤其在高职院校,通过率基本上在10%左右。这样一来老师教学没有信心,学生学习更是没有信
2、心与动力。针对这样的情况,我们将对高职 C 语言的教学进行研究并提出教学改革的思路,以期改善高职 C 语言的教学效果,更好地实现高职的培养目标。2 目前 C 语言教学现状分析语言教学的评价标准和高职的培养目标不一致 2002年教育部高教20022 号关于加强高职高专教育人才培养工作的意见中指出:“高职高专教育是我国高等教育的重要组成部分,培养高职 C 语言教学改革探索的思路拥护党的基本路线,适应生产、建设、管理、服务第一线需要的,德、智、体、美等方面全面发展的高等技术性专门人才。 ”2004 年 2 月 28 日,教育部周济部长指出:“高等职业教育的主要任务是培养高技能人才,这类人才既不是白领
3、,也不是蓝领,而是应用型白领,应该叫“银领” ,我们培养的学生,既要能动脑,更要能动手,经过实践的锻炼,能够迅速成长为高技能人才,成为国家建设不可缺少的重要力量”。 “高技能型人才”是指高职院校培养的毕业生,是技能水平较高的人才,它有别于学术型、工程型人才,也有别于一般技能型人才。高职院校开设 C 语言程序设计课程的主要目的是培养学生程序分析能力,程序设计能力,以及程序调试能力,重在能力的培养,为后继专业课程的学习打下程序分析、设计和调试的基础,而不在语言本身规则的学习。过去高职 C 语言的教学大多采用全国二级考试的标准来进行衡量,全国二级考试分为理论与上机考试两部分,这两部分必须都通过才能拿
4、到全国二级证书。其中理论部分包括软件工程、数据库原理、数据结构、C 语言的语法规则和程序设计等知识,通过对二级理论试卷的分析与统计可见,二级考试不仅考 C 语言的知识,还有软件工程等内容,整个试卷中 C 语言相关的考题占 75%左右,并且有关 C 语言部分考核的主要关注点是语法规则,注重细节问题,甚至是钻牛角尖的知识;上机考试部分共三道题,题量较小,每题的分值高,不能全面反映学生的能力,存在一定的偶然性。一直以来高职学校采用二级标准来评价 C 语言的教学,就存在评价的标准与教学内容不一致、评价的标准与高职的培养目标不一致的问题,当然就不能全面评价学生的能力。语言本身的特点带来学习困难任何事情都
5、是一分为二的,C 语言有丰富的运算符、语法限制不严,程序设计自由度大、数据类型丰富且可由用户自定义,所有这些特点,既可看作是 C 语言的优点,又可认为是 k-语言学习的难点。例如运算符丰富这一特点是便于已熟练掌握 u 语言的用户使用,可对于初学者来说,却是增加了难度,如自增/自减运算符(+/一),它可以提高运算速度,简化程序,但它只能对变量进行运算,并且运算符前置和后置的效果是不一样的,初学时往往很难注意到这些,在分析含有自增自减运算符的程序和用它写程序时往往就会出现错误,并且这样的错误有时较难发现,学生更是难以理解。再比如语法限制不严、程序设计自由度大这一特点,在使用时学生往往弄不清哪种表示
6、是正确的,增加了程序理解的难度。所有这些都说明 C 语言的特点给初学者带来了较大的难度。程序设计本身比较抽象,学生相关计算机的知识不够高职 C 语言课程大多开设在第一学期,由于高中阶段大多数学生计算机基础知识积累不够,学生刚进校就学习 C语言,感觉非常抽象,总不能理解内存中某个变量值的改变,当前某单元存储的值是什么?为什么写这样的程序就能得到需要的结果?CPU 到底如何工作?学生往往思考这样的问题,但这些问题的答案通常在后续的专业课程中。这也给 C 语言的学习带来了较大的困难。传统的教学模式不利于发挥学生学习的主观能动性过去 C 语言的教学仍然沿袭课堂讲授、布置作业及实验的“教本位” 的教学模
7、式,教师是课堂的中心,注重教的原发性和主动性,把着眼点放在“教” 上,忽视了学生的主体性。 “我讲你听,我教你学”的这种“ 满堂灌”的方式,学生的学习始终处于被动状态,师生之间缺少互动,教学是单向的由教师将知识传授给学生,不利于调动学生学习的积极性与主动性,发挥不了学生的主观能动性。学习语言需要有较强的逻样思维能力高职 C 语言这门课程主要的教学目标是培养学生的程序分析、设计和调试能力,这要求学生具有较强的逻辑思维能力。我们的学生在高中阶段这方面能力的训练不够,因此所写的程序通常逻辑不够严密,存在各种各样的问题,并且自己还难发现与理解,这也是学生学习的障碍。3C 语言改革的措施综上所述,我们拟
8、对 C 语言教学进行改革探索。通过以上的分析,结合高职的培养目标,将采取这样一些改革措施。首先是准确地定位课程目标,然后重组课程体系结构,对知识点进行分层讲授,注重解题思路、算法实现、编程能力和创新能力的培养,进行精讲多练,淡化语法规则,采用任务驱动的教学方法,给学生提供各种自主学习的平台,最后通过考核方式的改革进一步促进学生学习积极性与主动性,实现对学生的全面评价。高职 C 语言教学改革探索的思路。准确地定位课程目标只有进行了准确定位,我们才能有的放矢地进行改革,寻找弱点与不足。C 语言在高职计算机类专业课程中属于专业基础课,其作用是为学生将来学习专业课打下程序分析、设计和调试的基础,培养学
9、生程序设计和逻辑思维的能力,注重的是解题思路,并不特别强调语言的语法等细节问题。对于非计算机类专业,主要是培养学生程序设计的能力。因此本课程的课程目标是使学生掌握 C 语言的语法规则,为后续课程的学习打下良好的程序设计分析、设计和调试基础,并且学生能够以 C语言为工具分析问题、解决问题,能用 C 语言写出中等复杂程度的程序。重组课程体系结构,进行分层讲授根据本课程的教学目标,我们需要对长期以来形成的 C 语言内容体系进行重组。通常 C 语言的教材和参考书,都是按照十二章的内容体系进行编排与组织的,有较系统的知识体系结构,但是这样的体系结构更注重的是 C 语言语法的讲解,重点在于 C 语言本身的
10、知识讲解,对于程序设计方法、解题思路等不作重点。高职学生学习 C 语言的目的是掌握程序分析、设计和调试方法,把 C 语言作为一个语言工具,不需要过多强调 C 语言的语法规则,而要强调解题思路,程序设计方法和逻辑思维能力的培养,因此高职的培养目标和培养规格需要摆脱学科教育的束缚。根据程序设计能力的培养要求,重组 C 语言的课程内容体系就是改革首先要做的事情。依据程序设计能力的培养目标,C 语言课程的内容体系应以培养程序设计能力为主线,淡化 C 语言的语法规则。考虑到学生的学习能力和兴趣等多方面的情况,我们进行分层讲授,分层包括两方面,一是将学生进行分层,二是将知识点进行分层,不同的学生需要掌握的内容不同,但必须达到基本的要求,即掌握程序分析、设计和调试的方法,能写出中等复杂的程序。