APP下载

高职“C语言程序设计”课程教学改革初探

2009-05-11包振宇

计算机教育 2009年8期
关键词:C语言教学目标教学效果

文章编号:1672-5913(2009)08-0040-02

摘要:本文通过认识目前高职C语言教材现状,提出采用明确教学目标,突出高职认知和教学规律,正确引导学生对C语言的认识,把握重点攻克难关和精选程序案例,以培养学生的学习兴趣等多种教学改革措施,达到提高高职C语言教学效果的目的。

关键词:高职;C语言;教学目标;教学规律;案例;教学效果

中图分类号:G642

文献标识码:B

随着计算机技术的发展与普及,计算机已成为各行各业最基本的工具之一,而且正迅速地进入人类生活的各个领域。C语言作为目前国内广泛流行的一种计算机程序设计语言,它具有高效、简洁和接近汇编语言等特点,既适合编写系统程序,又适合编写应用程序。C语言自问世以来,以其独特的魅力吸引了广大计算机用户学习和使用。但是由于C语言牵涉到的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者感到学习困难。尤其对高职院校的C语言教学带来更大挑战,那么如何采用教学改革提高此课程的教学效果呢?笔者经过不懈的探索,结合本人多年的教学经验,总结如下体会。

1认识目前高职C语言教材现状

高等职业教育(简称高职教育)是高等教育的重要组成部分,是以培养具有一定理论知识和较强实践能力,面向基层、面向生产、面向服务和管理第一线职业岗位的实用型、技能型专门人才为目的的职业教育,是职业教育的高等阶段,兼具高等教育和职业教育的双重属性。

高职的培养目标,教学模式、教学内容有其鲜明特色,这就要求高职《C语言程序设计》教材也应当独具特点,不能照搬普通高校教材,更不能借用中职教材。现有教材很多是介绍语句的格式和功能,不适合高职学生。

笔者认为根据教学目的不同应对C语言的介绍分为两种方向,一是作为一种程序设计语言,二是用C语言来初学程序设计。这两种目的应致使教材的选用有很大的差别。前者是把C作为一种程序设计语言,仅需介绍C语言的格式和功能,重点注意一些不同点就可以了,是为已具备程序设计基础的设计师们介绍新语言的做法,而对刚接触程序设计的高职学生来说就不能用这种方法了。而后者是突出程序设计思想,是一种逻辑思维,是必须有一过程才能培养起来的。目前大多数现有教材都属于第一种类型,正常的大学本科学生学习都难以适应,更别说高职学生了。因此必须调整教材结构和内容来应对现在高职教育。

2采用多种教学改革措施,提高教学效果

2.1明确教学目标

C语言是专业基础课,它的后续课程是“数据结构”,事实上计算机课程教学计划安排的初衷是学完“数据结构”后,学生应能用程序设计语言写出算法程序并上机通过,但是到学习“数据结构”时很多学生感觉学得容易就是不能写出相应算法程序。通常说“程序=算法+数据结构+计算机程序语言”,那么“数据结构”和算法都学得比较好,程序为什么还是写不出来呢?问题就是C语言没学好,可以分析出学生对算法的理解没有问题,只是写不出来。所以C语言的重点是培养学生对程序的表达能力,适当降低设计能力的要求。

2.2突出高职认知和教学规律

高职学生学习的主动性、自觉性不足,学习习惯不好。许多学生的学习不具有计划性,不考虑各学科之间的关联性,基本上是被动上课,课后也以完成作业为主,基本上不涉及预习、学习、复习的简单而基本的过程。由于学习的主动和探索性不够,学生几乎不提问题,对不懂的学习内容也难以表达哪里不懂,为什么不懂。

同时,多数高职生源的文化素质较低,部分学生学习积极性较差,有的学生到课堂听课,一是受学校纪律的约束,二是应付考试,没有去接受业务知识的欲望,学习纪律松弛。

因此要培养高职学生C语言的学习能力,突出高职认知和教学规律。首先是引导学生多阅读C语言程序,然后是学会调试C语言程序,最后才是编写C语言程序。在实例、习题编排时,应首先是模拟运行写结果题,然后是指出错误题,最后才是语句表达、程序填空、编程题,指导学生多看、多写、多上机。

2.3正确引导学生对C语言的认识

学生对课程的理解存在两个误区:一是程序设计对今后不从事软件开发工作的学生来讲没有用处;二是在当今的软件领域,C语言已经无用武之地。针对这两个错误的看法,教师应从三个方面有意识地引导学生正确对待C程序设计。

(1) 强调算法。教师通过讲解一些常用的、经典的算法,使学生对学习C程序设计有更高层次的认识,不能让学生仅仅为了一门语言的学习而学习,让学生认识到只要有了算法,可能用不同的计算机语言来描述。

(2) 理论与实践相结合。教师通常根据每学期的选课学生的专业性质,收集一些与其专业结合紧密的程序作为范例,让学生能够认识到C程序设计在解决本专业中的问题所发挥的作用。

(3) 帮助学生克服心理障碍。对于一些初学者,特别是基础较差又没有学过计算机语言的高职生来说,刚接触C程序设计这门课程,会感到一些茫然,加上以往高年级同学给他们带来的是“C语言如何难学”的信息,学不好它也成了正常现象。针对这一问题,在机房上第一次实验课的时候,教师可以通过一些简单例题帮助学生消除心理障碍。如简单的输出语句。

void main ()

{

printf(“This is a C program!”);

}

通过类比,让学生在短短几分钟内可以通过C语言在屏幕上显示自己想要的结果,使学生有成就感,消除学习C语言难的心理障碍。

2.4把握重点,攻克难关

一个学生的编程水平不是C语言一门课程能培养出来的,作为入门语言的C语言应重点培养学生的程序设计C语言的表达能力。学习C语言,算法分析与设计是核心。一般情况下算法分析是通过N-S流程图表示出来,因此建议将流程N-S流程图的绘制方法分散到每一章中,而不是集中在前面一章介绍,便于学生充分掌握。

2.5精选程序案例,培养学生的学习兴趣

为了提高C语言的学习兴趣,增强课程实用性,在整合课程内容的基础上,改变过去先给出定义和规则的讲授办法,而是从具体问题入手,努力把枯燥的“语言”讲得生动、活泼。以程序案例驱动,将程序案例驱动,将语法知识点同实际编程结合。讲授时一定要避免纠缠于语法细节,应始终明确一点:计算机语言是用来描述需要解决的问题和问题的解决方法的,任何语法规定都是为这个目的服务的。因此,按照“提出问题—分析问题—用C语言描述问题与解决问题的方法—分析程序中的语法现象”的思路来讲授,有利于培养学生分析问题与解决问题的能力,也使得学生对语法的理解更为容易。

举一案例如下:

问题:编写一个函数,在数组中下标为i的元素前插入一个新元素。

分析:1. 假设整型数V,最多可存放n个元素,现前n-1个元素有值,在i位置前如果能插入一个新元素b,则插入前后示意图如下:

2. 初始条件:v,i,b

3. 执行条件:0<=i<=n-1

用以下N—S流程图描述,解决问题:

根据N—S流程图用函数实现算法如下:

int insert( int v[],int n,int i,int b)

{

int j;

if (i<0||i>n-1)

{

printf(“The value of i is out of rage ! ”);

return 0; /* 插入失败 */

}

for (j=n-1;j>i;j--)

v[j]=v[j-1]; /* 后移 */

v[i]=b; /* 插入操作 */

return 1; /* 插入成功 */

}

总之,C语言是一种应用广泛的编程语言,其编程思想和编程方法在很多行业都适用。对于高职工科学生来说,学好C语言既是专业素质的需要,也是未来工作的需要;对于教师来说,如何因材施教,因人而异,充分激发学生的内在积极性与潜能教学模式,讲授好计算机语言也成为迫在眉睫的重任。随着知识的不断更新,教学模式、教学方法的进一步完善还是任重而道远的。

参考文献:

[1] 包振宇,孙干. 数据结构[M]. 北京:中国铁道出版社,2005.

猜你喜欢

C语言教学目标教学效果
基于分形评估模型的实践教学效果评价方法
情感优教对中职护生老年护理教学效果的影响研究
“C语言程序设计”课程混合教学探索
多媒体辅助中学英语词汇教学效果探究
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
掌握“函数的表示”提高高中数学教学效果
计算机原理中C语言的应用价值
《孔乙己》连续性教学目标撰写及教学活动设计
新理念下小学英语课堂教学有效性分析