C语言课程在高职院校教学中存在的问题与改革措施
2015-07-17河南工业贸易职业学院郑州450000
甄 华(河南工业贸易职业学院,郑州 450000)
C语言课程在高职院校教学中存在的问题与改革措施
甄 华
(河南工业贸易职业学院,郑州 450000)
摘 要:学生开始学习C语言,思维习惯还不适应对C语言的学习。加上学习C语言时还没有接触物理层面的器件不知道C语言用在哪里,不能坚持学习。本研究就是通过明确学习目的、分散难点、降低学习C语言的难度,以真实的测温工程引导学生学习兴趣,使坚持顺利完成对C语言的学习。
关键字:C语言;高职教学;测温工程;改革措施
1 学生学习C语言的现状
由于C语言简洁紧凑、具有结构化的控制语句、生成的目标代码质量高、具有良好的移植性和灵活性,都选择C语言作为首个计算机教学语言。C语言除了具有以上高级语言的优点外还允许直接访问物理地址,更适应于底层应用软件的开发,是嵌入式电子产品开发、芯片设计等基础; Linux的内核也主要是以C语言写的。基于以上特点,即使面向对象程序设计流行的今天,许多公司依然把C语言作为程序设计的首选语言,开发解决本领域的应用程序。
然而,C语言教学现状不能令人满意,C语言是学生进入大学学习的第一门计算机语言,加上C语言本身的抽象性、用语句表达逻辑关系比较复杂,加之以往在C语言教学中不能与解决实际问题紧密结合,造成学生学习C语言过程感到困难,目的又不明确,不能从学习C语言中获得成就感,降低了学习兴趣,学习到最后能够坚持下来的学生比例很低。往往导致学习C语言开始阶段踌躇满志,中间阶段困惑遍地都是,最后阶段不了了之的现象。严重影响了C语言的教学质量和教学效果。
2本研究的具体解决思路
本研究主要从C语言的特点和学生以往学习中出现的问题出发,通过强化知识点、分散难点、以实际测温工程问题作为C语言学习承载媒介,通过激发学生学习兴趣,严格要求学生、充分信任学生,鼓励学生坚持学习,发挥师爱在教学过程中的作用,促使学生完成C语言的教学,最终达到学生在学习过程中目的清晰、学有兴趣、学以致用的目的,帮助学生熟悉C语言在工程中的使用。提高学生的综合职业能力和素质,为顺利就业打下一个良好的基础。
3 本课题的研究内容的具体步骤和内容
3.1 归纳出C语言的知识点
为了把C语言的知识梳理清晰便于学生记忆,我们把C语言的知识分为静态的知识和动态的知识。
3.1.1 静态的知识[1]
(1)一些概念如:运算符、标识符、关键字、数据类型、表达式、语句、数组、函数、指针等,像运算符、标识符、数据类型等概念容易理解,但是另一类概念(还包含用法)如二位数组及引用、指针、结构体与共用体等概念都是新接触的概念并且抽象,它们的使用还涉及到计算机内部的工作过程,难度比较大,需要反复通过实例让学生理解定义,在理解的基础上在尝试着应用。在这部分教学中需要重点加强练习。
(2)C语言的格式:可以概括为“函数头 + 一个主函数”的结构,这是任何一个C语言程序必须的格式,就像给具体的C语言穿的一件制服,看到这个制服就知道是一个C语言程序;反过来,每一个C语言程序都必须穿这套制服。具体C语言程序中是什么内容,就要看{}中的内容了。
3.1.2 动态知识包括算法、函数、语句的使用、编译工具软件
(1)算法是一个很复杂很宽泛且有很大难度的问题,但就解决常见的工程问题和生活问题的算法还不是很难。明确算法只是解决问题的方法和步骤,不能对算法这个概念产生神秘感。对常见的算法会用C语言实现就可以,例如:一般的数值计算、逻辑运算、查找、排序、查表等。
(2)函数[2]:明确函数的调用、参数的传递,函数是C语言中的一个重要概念和组成部分,是C语言程序的基本组成单位,计算机的很多功能都是通过函数来实现的。要会使用乘方开方、正弦余弦、正切余切、指数运算、微分积分等有关的数值运算函数,能完成一般的数值计算,通过查阅资料会使用常用数学函数和必要的其它常用库函数就可以了,在教学中要进行分项针对练习。
(3)C语言的编程语句表达式和语句的关系:把C语言语句分为四类以强化学生的记忆:顺序语句、选择语句、循环语句、转移控制语句。C语言编程语句的教学是C语言教学中最核心难度最大也最有挑战性的部分,只有学好这部分内容,才有可能会使用C语言进行编程。对这部分内容的教学重点要区别对待。对顺序结构的语句来说,难度比较小,结合工程中的的算法就可以顺利过关。选择语句的难度有两个,一是几种选择语句的书写格式和用法。二是选择语句的嵌套,逻辑关系一层套一层,逻辑嵌套的逻辑习惯养成不容易,必须由简单到复杂循序渐进进行,让学生养成用C语言逻辑嵌套的方式寻找解决问题的习惯。对简单的循环语句结构要加大强化力度,开始通过一定量的循环小实例练习加强学生对循环语句的理解,达到熟练运用的程度,然后再结合工程中的循环语句让学生知道循环语句在工程中的实际运用。循环的嵌套难度最大,对循环嵌套的教学必须通过实例反复训练,达到熟练的程度,并且让学生自己寻找生活中循环嵌套的例子,以适应循环嵌套的逻辑。最后还要仔细体会测温工程中的循环嵌套的使用。对转移控制语句的教学应该强调这三种控制语句的应用条件和注意事项,防止使用不当是程序进入死循环。必要时要通过一个错误的使用让学生感受到错误使用产生的结果。
(4)C语言的编译平台,编译平台有几种可以使用,通常使用的是Visual C++6.0有在教学中发现, C语言学习还没有开始,就被编译平台难住了,选择《啊哈磊》[3]编写的C语言学习平台,等适应后在启用Visual C++6.0编译软件。
3.2 建立一个真实的测温工程:
3.2.1 设计工程的硬件
本工程是利用C语言开发单片机以热敏电阻为传感器测定空气的温度。热敏电阻与555组成振荡器,,温度变化,热敏电阻阻值变化,电路振荡频率变化,通过单片机测定电路振荡频率,与标准比较就可以计算出温度值。设计一个硬件电路并且用软件设计一个PCB板,焊接好电路元件备用。
3.2.2 对测温硬件电路编写部分测温软件代码如下:
#include <stdio.h>
#include <math.h>
fl oat fi nd(fl oat resv)
{ idata fl oat temper; idata int top,bottom,mid;
if(resv>=39028) temper=-30;
else if(resv<=831) temper=60;
else }
{ fl ag=1; //*假设输入的数在表列中
top=90; bottom=0; mid=(top+bottom)/2;
while(fl ag)
……
return(temper);
}
3.3 教学的推进
3.3.1 在教学开始阶段
(1)把测温工程的硬件系统功能展示给学生,演示温度测定过程,告诉学生本系统就是使用C语言编写的应用程序,让学生知道把C语言学好后就可以自己编写控制程序。
(2)对C语言知识点的归纳,告诉学生C语言所包含的知识点和学习方法。
(3)明确C语言学习的困难。
(4)建立学习小组。
3.3.2 教学阶段
根据C语言的知识点和能力点进行教学,教学新的知识点时需要反复让学生练习直到熟练为止。教学中有难点时,要把难点分解成几个步骤进行教学,例如,在讲解循环语句时,就把循环语句每循环一次的运行结果以书面的形式写出来,这样写出3-5个步骤,学生就理解了循环语句的作用。又例如讲解循环嵌套的时候,开始把嵌套的语句以最简单的形式表现出来,然后逐渐让嵌套的语句变复杂,通过这样对难点进行拆分,学习难度降低,当掌握了一定的知识后,学习的自信心就会增加,有助于学生坚持完成后面的学习。
开始就把测温程序发给学生,让学生随时找出所学知识点在程序中的应用,并贯穿讲解硬件知识。经过实际的教学实验, C语言内容讲授结束时,学生对该工程硬件也有了一定的了解,激发了学生对单片机知识的兴趣,部分学生自己购买单片机书籍主动自学,调动了学生的学习热情。
4 结论
通过对C语言知识点强化、难点分散、降低学习难度,用工程实际问题作为C语言知识点的学习媒介,引导学生的主动学习,对学生完成C语言的教学产生了巨大的促进作用。教学过程中学生学习目的清晰、学有兴趣,提高了学生学习C语言的效果,能坚持学完C语言的学生人数明显增加。但是也有一些局限性,就是学生的电子学知识、单片机知识还很欠缺,还不能完达到希望的效果。如果把C语言开设在学习单片机之后效果会更好,学生的学习难度会更小。
参考文献:
[1]冯茂岩,孙炯宁.C语言程序设计[M].高等教育出版社2009(07).
[2]杨峰.妙趣横生的算法[M].清华大学出版社出版,2012(12).
[3]啊哈磊,啊哈C!.-思考快你一步[M].电子工业出版社,2013(09).
基金项目:河南省教育厅人文社会科学研究项目资助(题名:C语言课程在高职院校教学中存在的问题与改革措施;批准号:2014—ZC—068)
作者简介:甄华(1982-),女,吉林四平人,南京理工大学硕士,河南工业贸易职业学院讲师,主要研究方向:计算机网络、仿真。