高职通信专业C语言教学初探

时间:2022-06-15 11:36:27

高职通信专业C语言教学初探

摘要:文章针对高职学生基础知识薄弱、自主学习能力较差等现象,就C语言课程的特点和教学过程所面临的问题,从课程教学目标定位、教学方法多样化等方面进行教学探索,优化课程教学效果,充分调动高职学生学习的积极性,培养学生的编程能力和解决实际问题的综合能力,适应高职院校高技能应用型人才的培养目标。

关键词:C语言;职业教育;教学目标;教学方法

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)06-1364-03

Primary Discussion on C-language Course of Communication Major in Vocational and Technical College

JIANG Wen-mei

(Guangdong Chuangxin Scitechnical Vocational College, Dongguan 523960, China)

Abstracts: For vocational students poor basics and poor self-learning ability, the article makes discussion on teaching objectives and teach? ing methods diversifications according to the C language characteristic and the problems in teaching process, to optimize the teaching ef? fects, promote the learning enthusiasm of vocational students and train the programming abilities and problem-solving abilities, to adapt to the high skill training objectives of vocational colleges.

Key words: C language; vocational education; teaching targets; teaching methods

C语言是一门实践性和应用性较强的课程,在计算机软件设计和通信电子类产品开发中应用广泛。但C语言课程教与学“难”的现象普遍存在,学生往往在学习C语言时会产生畏难情绪,加上传统的C语言教学方法较注重分立知识点的学习,缺乏对完整程序的分析和编制能力,往往会导致学生在上课时对教师所讲的语法规则等都能听懂,但上机实验自己编程时脑子却是一片空白,面对一个程序题目,不知道从何下手。而且通信专业学生由于缺乏计算机学科的专业认知,后续也没有程序设计类的课程深入学习,所以普遍认为C语言的学习对就业帮助不大,进而影响其学习积极性。针对目前存在的这些问题,需要对C语言课程教学目标和教学方法上进行相应的调整。

1正确设立C语言教学目标

要让通信专业的学生正确认识学习C语言的重要性,上好第一节课很重要,精心设计第一节课的内容,让学生了解C语言在整个专业课程设置中所起到的作用及学习C语言对后续课程的学习、工作有哪些帮助,引导学生共同思考下面的问题:1) C语言学什么? 2)学习C语言有什么用? 3)怎样学好C语言?

对通信专业的学生来说,在课程定位时,只要求掌握C语言基本语法和常用算法,具备基本的编程素养和解决本专业的应用问题,以“必要、够用”为度,致力于培养学生运用C语言解决实际问题的编程能力,避免在学习程序设计过程中陷入学习程序设计语言繁杂的语法和格式上,而是将主要精力集中在所要解决的实际问题上,从具体问题出发,重点阐述如何利用程序设计解决这些问题。所以课程教学目标定位为:以应用为背景、以程序设计方法为主线、以语法和结构为基础、以培养能力和提高学习兴趣为目的、变应试为应用,让学生从多角度、多方位了解和掌握C语言以及程序设计的精髓。

尽管通信专业不同于计算机专业,很少有同学进入到软件开发行业,但随着计算机技术的快速发展,计算机学科不是一门独立的学科,已逐步渗透到其它各学科中,形成交叉学科,通信技术与计算机技术结合尤其紧密,学习C语言对本专业其他课程的学习也有很大帮助。首先,学习C语言需要能静下心来由耐心地设计、编写、调试程序,这对学习通信专业其他课程来说很重要,让刚进入大学的学生逐步适应大学的学习方式,有利于后续课程的学习;其次,C语言是面向结构的程序设计语言,强调设计的流程和结构,在讲解C语言的过程中,要侧重于学生对流程和结构的学习,让学生养成良好的逻辑思维习惯,培养学生算法流程构建的能力和分析问题解决问题的能力。

在C语言教学过程中,可以通过IT业里程序员或软件工程师入门或逐步攀登软件开发高峰的一些例子,介绍一些好的C学习的方法和经验,让学生在明确了课程的性质、目标等情况后对学习C语言有一个初步认识,再演示一些比较有趣的实例程序,如游戏程序、音乐程序、画图程序等,充分调动学生的学习C的兴趣和积极性。接下来就是在具体知识点讲解过程中利用各种方法让学生一步一步地踏入到C语言的世界中。

2综合运用多种教学方法,提高教学质量和教学效果

2.1运用通俗形象的例子

由于高职院校的C语言课程一般都开设在第一学期,而学生在高中阶段很少接触到计算机系统的知识,尤其是计算机硬件,这大大增加了学习C语言的难度。C语言的指针部分涉及到大量的内存操作,比如指针所指向的内存区或地址、指针本身占据的内存区、指针的算术运算和逻辑运算、指针与数组的关系等,要是没有先期课程的铺垫,这些内容无疑是很难理解的。

在讲授过程中,不妨拿实际生活中经常接触到的东西来举例,这样能较快地让学生接受原本很抽象的概念,比如在讲内存区和内存地址的时候,把一栋教学楼比作整个内存,教室比作一块块地内存,教室号比作内存的地址,教室里的人比作内存里存放的内容。这样在讲到用函数实现两个数的交换这一案例的时候,因为实参不能随着形参的变化而变化,所以要想用函数实现两个数的交换,就必须用变量的地址做实参,传递给形参一个地址,程序如下:

void swap(int *x, int *y){ int z;

z=*x;* x=*y; *y=z;

printf("*x=%d,*y=%d",*x ,*y);}main( )

{ int a= 10,b=20; swap(&a,&b);

printf("a=%d,b=%d\n",a,b); }

刚开始学生无法理解,采用上面的比喻后,就假设两个变量所在的内存为两个教室,变量的值就好比是教室里的人,这样实参就是教室号,在函数里对两个教室里的人进行交换,所以在调用函数后变量的值就已经完成了交换处理。学生通过这样的通俗比喻能对内存、地址等内容掌握得比较深刻。

2.2运用案例一题多解

由于C语言的灵活性,尽量让学生用不同的方法来解决同一个问题,克服思维定势,探求解题新思路,促进学生深刻理解并牢固掌握和灵活运用所学知识,同时挖掘学生的内在潜力,培养学生思维的灵活性、变通性,使学生从不同角度、不同方面用多种方法思考问题,从而使学生的发散思维得到进一步的培养。

比如在讲到字符数组时,一个案例要求对数组赋值A~Z并输出结果,课堂上通过四种方法实现了同样的效果,分为整体赋值、输出和逐个元素赋值、输出两类,每一类中得赋值又可以分为采用scanf()函数从键盘输入和使用赋值表达式赋值两种方法,这样不仅仅练习了数组部分的知识点,又对标准输入函数进行了复习,让学生加深了两种赋值方法的理解。

循环结构程序设计章节有个案例:输入一个字符串,统计字母、数字以及其他字符的个数,回车结束。教材上的示例程序把回车符设为循环的控制条件,程序段如下:

c=getchar();

while(c!=’\n’)

{if((c>=’a’ && c=’A’ && c

letter++;

else if(c>=’0’ && c

number++; else

other++;

c=getchar();}

有学生提问可不可以做成无条件循环,遇到回车符则使用break语句跳出循环,程序段如下:while(1)

{c=getchar(); if(c == ’\n’) break; else if((c>=’a’ && c=’A’ && c

else if(c>=’0’ && c

}

以上两种方法的结果无疑是一样的,但这体现了学生思维的创新性,拓宽了学生的思路,锻炼了学生的创造性想象力和探索精神。

2.3改变教学地点,强化实验环节、淡化课堂教学

C语言是一门实验性很强的语言,一味的课堂教学,即使教学方法再巧妙,如果没有具体的实践,学生仍然无法体会和掌握其中 的奥妙。所以将C语言所有学时的教学全部安排在机房,保证每节课不低于一半的上机操作时间。在涉及到新语法知识时,并非直接讲授语法规则,而是先用案例引入新的知识点,引导学生涉及程序的结构流程,新语法部分用注释代替,让学生带着问题进入到新知识的学习过程中,等了解了语法规则,再将之前的功能注释部分用C语言代码实现出来,转换成程序语言后再上机验证,加深对理论知识的理解,时时刻刻锻炼学生的动手能力。老师在讲解环节,也可以一边演示编程、编译和运行过程一边解释语法知识。

C语言的功能非常强大,教材上所举得例子很有限,平时多引导学生把自己比较熟悉的物理、数学等方面的题目用C语言编程来实现,其他学科里难以计算的问题交给计算机来解决,既练习了C语言的语法知识又提高了学生学习C语言的兴趣,变被动学习为主动实践,同时最大限度地利用机房上课的机会练习C语言编程的方法,让学生逐步养成良好的程序性思维。

2.4重视程序调试过程

通信专业不要求C语言编程能力达到专业程序员的水平,只要求掌握C语言基本语法和常用算法,具备基本的编程素养和解决本专业的应用问题,因此在教学过程中要注重培养学生分析问题、解决问题的能力。而在学习C语言阶段离不开程序调试,很多人只看重程序编写和运行结果,恰恰忽略了最重要的调试过程。调试过程比较枯燥,往往一个不起眼的小错误使运行结果南辕北辙,这就要求编程人员具备耐心,能够静下心来仔细检查每一句代码,通过重复性的练习锻炼学生的耐心。另外,一旦程序运行结果不对,如何通过编译器提供的少量提示信息找到具体的问题所在?学生在上机练习过程中,出现的语法错误千奇百怪,C语言学习初始阶段,学生一遇到错误就手足无措,这时候不能直接告诉学生怎么改正,而是逐步教会学生学会看错误提示信息,找到错误的代码段后跟语法概念相比较,尽量引导学生自己进行修改,这样多做练习之后,有助于学生养成遇到问题自己尝试分析解决的习惯。实践证明,学生对调试程序很感兴趣,程序出现问题后也都乐于一步一步地进行调试。

3结束语

以上只是笔者的一点经验体会,在教学实际过程中应注意的问题还有很多。高等职业教育是针对一线生产岗位培养应用性技能型人才,在进行课程教学时应紧密结合岗位,准确定位课程教学目标,进行教学改革,注重学生实践能力的培养。

参考文献:

[1]柴世红. C程序设计[M] .西安:电子科技大学出版社,2010.

[2]季焕淑.浅谈高职学生的C语言教学方法[J].硅谷,2011(3).

[3]李爱芹,赵凤申.高职院校机电专业C语言课程教学探索与实践[J].南通航运职业技术学院学报,2009(12).

上一篇:单级倒立摆模糊控制器的设计与实现 下一篇:基于JSF+Spring+Hibernate的人事管理系统