浅谈全国大学生电子设计大赛与《C语言程序设计》教学改革

2011-08-15 00:49梁广瑞钟国文
太原城市职业技术学院学报 2011年11期
关键词:电子设计C语言程序设计C语言

梁广瑞,钟国文

(广西机电职业技术学院,广西 南宁 530007)

浅谈全国大学生电子设计大赛与《C语言程序设计》教学改革

梁广瑞,钟国文

(广西机电职业技术学院,广西 南宁 530007)

C语言是电子电气各专业都开设的一门重要的专业基础课,它涉及知识点多,概念复杂,语法表达灵活,学生掌握起来有困难。文章阐述了C语言传统教学方法的弊端,并介绍了我系在全国大学生电子设计大赛的推动下对《C语言程序设计》课程进行的教改措施。

电子设计大赛;C语言教学改革;项目教学法;AVR单片机

全国大学生电子设计竞赛已成为全国电子信息类专业学生规模和影响最大的赛事之一。该赛的特点是与高等学校相关专业的课程体系和课程内容改革密切结合,以推动其课程教学、教学改革和实验室建设工作。由于该赛的挑战性、趣味性、公平性和对学生就业的促进性,吸引了大量的相关专业学生参与。如何利用该赛的影响力及指导作用推动相关课程的教学改革一直是我校重点关注的一个课题。论文以《C语言程序设计》课程为例,介绍我校电子电气类专业围绕该赛事所进行的教学改革及效果。

《C语言程序设计》是电子电气各专业都开设的一门非常重要的专业基础课,而由于当前嵌入式技术的飞速发展以及广泛应用,C语言作为其最重要的开发工具更加凸显该门课程的重要性。但是,由于C语言知识点多,概念复杂,语法表达灵活,学生掌握起来有困难。出现最多的问题是学了不知道有什么用,程序看得懂但是自己写不出来,没有养成良好的编程习惯,缺乏写出可复用代码的意识,无法理解C语言的精髓,比如指针、模块化编程、可移植性等。这些问题必须通过教学内容、教学方法的改革来解决。

一、传统教学的内容、方法及其弊端

随着计算机技术、嵌入式技术的发展,计算机基础技术的内容也在逐步地产生变化,当前《C语言程序设计》教学内容、教学方法必须依据专业特点、技术热点、企业的技术要求、发展趋势进行改革,以适应新的形势和要求。传统的教学内容和方法存在很大的弊端,主要有下面几点:

(1)以普通PC机作为C语言运行的主要硬件平台

对于电子电气类专业的学生,毕业后从事开发PC机的C语言程序的情况是非常少的,C语言功能的强大及广泛应用在于它既是高级语言又接近底层,所以被称为“中级语言”。它不同于目前流行的C#、Java等语言,它主要活跃于单片机、嵌入式微处理器、DSP等嵌入式系统,这些也正是电子设计大赛主要考核的内容。以PC为平台,学生不理解C语言有什么用,缺乏学习的动力,因为当前所接触到的PC上林林总总、令人眼花缭乱的软件基本不是用C语言直接开发的,学生产生了很大的疑惑。另外,以PC为平台编写的例子程序一般比较抽象,由于X86体系的处理器比较复杂,内存的映射关系不容易理解,造成学生难以理解指针等C语言的重要概念。

(2)教学内容过于注重语法细节,忽视语言应用

教学内容重点放在语言要素讲解上,过于重视语法细节,现有教材提供的例子只重视语法讲解,不注重风格,在变量名称、注释、习惯用法上不符合规范,代码质量不高。作为模块化编程基础的函数、C语言的精髓指针、文件的组织与安排等重要内容的引入过慢。另外在一些习题上出现一些或许是正确的但是却不可能出现或很少有这种用法的程序表达,误导了学生。还有一些基于项目教学法所引入的项目,由于基于PC平台,而C语言不擅长做windows程序界面设计,以DOS界面为主,学生认为知识过时,提不起兴趣。

(3)教学方法单调,手段不多

教学方法主要采用讲授法和实验法,近年来也开始推广采用项目教学法。对于讲授法和实验法,学生只是被动接受,缺乏主动参与,他们更多地关注计算机等级考试,不能切实体会C语言在实际应用中的强大。对于项目教学法,关键在于选择合适的项目,但是由于以PC为运行平台,难以设计一个同时具备实用性、趣味性、新颖性、可操作性并覆盖了大多数知识要点的题目。

电子设计大赛中,单片机或各种嵌入式微处理器的使用是非常重要的知识点,由于比赛时间短、题目灵活,对单片机的开发必须要采用C语言编程。因此,为了取得更好的成绩,优秀的队伍还必须在比赛准备期间做好各个基本模块,采用模块化编程、考虑程序的移植性,以企业项目开发的标准来做准备。而由于以上几点弊端,学生在参加电子设计大赛的过程中,感觉学与用之间鸿沟很大,指导教师需要给他们补充很多内容。比如:课堂上C语言和单片机的课程是分开独立的,而单片机的教学为强调对计算机原理的理解,课堂上主要运用的是汇编语言,而C语言课堂也没有很好地结合单片机来讲解,造成了衔接上的困难。

二、硬件平台的选择与教学内容的改革

上面的分析中知道,C语言运行的平台是一个关键的选择,针对专业上需求的特点及目前电子设计大赛的要求,选择了以单片机或嵌入式处理器为主、PC机为辅的平台方案。通过分析比较了51、AVR、stm32、ARM7微处理器等几个常见微控制器,从处理器的结构、对标准C支持的程度、易学易用性、是否满足电子大赛要求等几个方面考虑,最终确定了AVR单片机作为C语言运行平台。在教学内容上,重点放在模块化编程、常见控制程序分析、指针的操作等内容,强调编程良好的风格,一开始就要求学生写规范的代码。由于引入了AVR单片机,而学时上是不增加的,经过我们教学实践发现,即使没有对AVR单片机这部分做详细的讲解,学生也能够理解并应用,这个跟学C语言而不需要知道PC机的原理是一样的。只需要告诉学生,如何通过指针操作单片机的寄存器,而不同的寄存器有什么功能或效应,学生就可以快速应用。

1.教学方法的改进

参加电子设计大赛,就是在短短的三天时间里完成一个小型项目。因此,在教学方法上,主要采用项目驱动法。课程由浅入深设计了流水灯、步进电机控制、DS18B20温度检测控制、智能循迹小车等几个项目。并在课程实训阶段组织学生进行智能小车比赛,比赛成绩作为课程成绩的参考。由于这些项目具有趣味性,贴近实际,学生产生了浓厚的兴趣,由以前的教师督促着学、灌输着学改为现在的主动学、要求学。在教学时间安排上,使用3+3模式,即每周的6节课安排为3节理论加3节上机实践。在具体的教学实施过程中,注意抓住几个要点:一是弱化语法细节,重视算法及其实现。通过突出算法,进而带动基本语法的学习,可以更加合理地分配学习时间,提高学习效率。二是指导学生阅读“好”的代码。不可否认,不少教材在这一方面做得远远不够,代码例子不重视编程风格,变量命名、函数命名不符合规范,缺乏注释,缩进混乱等等,这需要教师在平时的备课、科研项目中收集优秀的代码范本,让学生去模仿。三是将常见的编程调试错误收集整理,以文本形式让学生阅读。实践证明,由于学生初学编程,犯的错误很多是相同的,而且往往是语法上的简单错误,因此在实验上机操作课上,让学生提前阅读典型错误的信息,可以大大提高课堂效率,并培养了学生阅读文档的好习惯。

2.考试模式改革

C语言传统的考试模式主要采用笔试的模式,试卷内容一般为语法的基础知识(主要以填空题或选择题为主)、阅读程序、程序设计等几种类型,答案比较固定、唯一。这份试卷可以评估学生掌握基础知识的能力,但是这种方法不能全面了解学生的能力,并且容易使学生以为C语言水平的高低就是简单一份基础知识试卷的成绩高低,而没有意识到C语言关键是应用,真正实际工作中要完成一个项目不是简单地运用C语言的基础知识就足够的。另外,在教学过程中采用3+3的模式,而考试只有理论笔试,不利于提高学生参与项目教学法的积极性。因此,考核应采用理论笔试+项目机试的方法,其中每项的比重各占50%,最终成绩并入期考成绩项。

项目机试就是以一个包含多个知识点的小项目为题目,要求学生在规定的时间内完成编程、调试。考试过程中可以参考课本、参考书等纸质资料,但是不可以上网查阅。如何出好题目是关键,必须要考虑到各个层次学生的能力并要有区分度。一个典型的题目设计方法是将一个项目题目分成功能上相对独立的几块,每块难度逐渐增加,这样可以保证不同水平的学生都能拿到一定的成绩。

通过两届学生的教学实践,证明以上教学的转变是积极有效的。学生不但完成了C语言课程的学习,而且对单片机技术有了一定的掌握,还学习了电子设计大赛经常出现的一些基本功能模块,因此在后续的单片机学习和电子设计大赛准备中起了很好的衔接作用。

[1]邹海荣.非计算机专业《C语言程序设计》课程教改探析[J].福建电脑,2010,(5).

[2][美]Kenneth A.Reek.C和指针[M].北京:人民邮电出版社,2008.

[3]于华.应用型本科院校C语言教学改革的探讨[J].山西大同大学学报(自然科学版),2009,(6).

[4]宋楚平,李少芹.C语言教学改革的思考[J].职业教育研究,2005,(2).

[5]刘贤锋.高职“C语言程序设计”课程整体教学设计探讨[J]].中国电力教育,2009,(8).

G642

A

1673-0046(2011)11-0151-02

猜你喜欢
电子设计C语言程序设计C语言
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
探究电子设计技术中的电子设计自动化技术
基于Multisim仿真软件的三人表决器电子设计制作——以中学生创新能力培养为例
基于C语言的计算机软件编程
电子设计中EDA技术的应用分析
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革