C语言程序设计课程中引入机器人工程项目的教学实践
2018-04-17彭建盛李笑梅韦庆进何奇文覃勇
彭建盛 李笑梅 韦庆进 何奇文 覃勇
【摘要】本文分析C语言程序设计教学现状,提出引入机器人工程项目的C语言程序设计教学改革,通过机器人工程项目的搭建,激发学生的学习兴趣,增强学生的实践能力。
【关键词】C语言程序设计 机器人工程项目 教学改革
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2017)11C-0148-02
c语言凭借其语言简洁紧凑、使用灵活、丰富的数据类型和运算符等诸多优点,使“C语言程序设计”课程成为理工科专业的必修课,且在电气专业中尤为重要。相比计算机专业的学生,电气专业的学生在学习这门课时相对较困难,因为他们是第一次接触程序语言,并且和电气专业其他专业课联系不大,学生上机实践的机会较少,使得学生学完这门课后很快就会忘记。因此,在电气专业课程中对“C语言”进行教学改革研究是一个迫切需要解决的问题。
一、C语言教学现状分析
(一)教学大纲安排问题
C语言程序设计课程实践性非常强,应加大实验课所占比例。但在河池学院电气专业教学大纲中“C语言”的实验课时为32个课时,远不能满足教学需要,与课程内容多和实验要求高相冲突。由于课堂时间有限,教师只能缩减知识面,快速讲解重点知识,教学方法单一。
(二)课程内容设置不适应
C语言的基本概念、语法规则繁多,使用灵活,出错率高,对于首次接触程序语言的大一学生来说,由于学习自信心不足,普遍存在畏难情绪。教材中的例题程序的规模较小,没有挑战性,学生学习兴趣不高,学习效果自然不容乐观。同时,由于上机实践次数太少,学生不能充分利用C语言去开发项目。
(三)传统教学方法不适应
C语言是一个应用工具类课程,最理想的学习方法是边做边学,放到实际项目中去学。而目前的教学方法多数是课堂授课,其中掺杂少量的上机实践。
(四)课程应用价值不高
在C语言程序设计教学过程中,由于抽象繁琐的教学内容、单一的教学手段,使得学生虽然掌握了大量的理论知识,但面对实际的工程问题时仍然束手无策,即理论与实际在一定程度上脱节。
(五)课程考核不全面
传统考试注重考查语法知识和在纸上手写程序代码,缺乏对程序调试和错误检查等更重要的内容的考查。同时,手写程序容易出错,很难写出可以运行的程序。
二、教改方案设计
针对上述问题,将机器人工程项目融入C语言程序设计的课程教学中。学生边学习C语言边慢慢融入两轮智能移动机器人工程项目中,现学现用,使得学生更快速掌握c语言并灵活运用。
(一)硬件平台的选取
目前,C51单片机、AVR单片机是机器人平台芯片的常用选择。AVR单片机的编程有特定的环境要求,其运算能力很强,在实际生产中使用广泛。但其功能寄存器多,不适宜初学者使用。而C51单片机电路简单、抗干扰能力强、性价比高,编程也比较容易,适合入门级的学生。
综上,本文选用C51单片机AT89S52作为机器人的核心。AT89S52是一种高性能、低功耗的单片机,其稳定性可靠,不需要配合額外的编程机和仿真机使用,学生容易上手。对AT89S52进行C语言编程,使机器人能根据其传感器检测出的信息做出决策,并做一些简单的动作或运动,以完成智能控制的任务。机器人平台如图1所示。
(二)设计教学项目
1.教改方案设计原则
激发性原则。学生只有对C语言产生兴趣,才会积极主动地学习并解决其中的问题,这样才能提高自身的编程能力,因此在设计教学方案时,应以提高学生兴趣为出发点,大胆创新教学内容,激发学生的求知欲。
引导性原则。学生通过实践操作获得感性认识,并把理论知识运用于项目实践当中。实践教学要能发掘C语言的知识内涵,从易到难,循序渐进,有梯度,从而引导学生深刻理解并消化知识。
多样性原则。设计教学内容时,通过不同的工程项目来学习和巩固教学知识点,注重教学活动的多样性,可以活跃课堂气氛。
相关性原则。教学内容要紧扣教学大纲、教学目标,与之不相关的内容统统删掉,从而使教学设计结构紧凑、环环相扣、言之有理。如果条件允许,可以结合企业的实践项目,发挥出c语言应有的实际价值。
独立性原则。特意培养学生独立学习的能力,独立查阅资料、解决问题的能力,独立完成某个小项目或者小模块的能力,在不断地发现和解决问题中成长。
2.设计项目
遵照上述教改方案设计原则,并充分利用学院的机器人创新实验室,整合教学资源,提高学生学习兴趣和动手能力,大胆改革,并参照学院C语言教学大纲,最终设计了4个教学项目,如表1所示。
学习C语言最主要的目的是为提高学生的编程能力打下一定的基础,并能独自编写程序以解决一些简单的实际问题,因此将机器人工程项目贯彻到教师的教与学生的学的过程中,能够满足教学目标的要求和人才培养的要求。
(三)课程考核方式设计
课程考核采用平时环节、实验和期末考核相结合。平时环节主要是通过下达任务,学生根据要求,使机器人实现考核要求,例如如何通过编程使机器人小车实现走矩形的任务。实验考核即以上机的方式来考核,教师提前将若干题目放置于电脑,学生在规定时间内完成并提交试题。期末考核即闭卷考试,主要考查学生理论知识的掌握程度。通过三者的结合,突破了单一、片面的传统试卷考核方式,激发了学生的学习紧张感,同时学习积极性也提高了,无论是从理论上还是实践上,学生都得到了很好的锻炼。
三、教改方案的创新点
实用性。通过对机器人编程,C语言的各种核心概念与使用规则能够学以致用。单片机编程方便,能够快速将机器人和智能传感器等结合起来,可扩展性大。
系统性。将C语言知识点贯穿到一系列循序渐进的机器人工程项目中,满足知识构建的原则。
趣味性。引入的机器人工程项目趣味性强,能更好地吸引学生的注意力,激发学习热情。
新颖性。课程考核方式呈现多样性,突破了传统方法。
普及性。为后续与编程相关的课程学习打下一定的基础。
四、教改成效
教学实践表明,通过在c语言程序设计中引入机器人工程项目,彻底突破了传统教学方法,很好地解决了C语言程序设计抽象与难学的问题,课程教学取得了显著成效。学生对C语言的掌握程度更加牢固,激发了编程热情,培养了程序算法设计能力和逻辑思维能力,从而使求解问题的算法更加多样性。
【参考文献】
[1]谭浩强.C程序设计第四版[M].北京:清华大学出版社,2010
[2]尹华,肖随责在C语言实验课程中引入教育机器人的教学改革思考[J].教育与职业,2009(33)
[3]郑征,吴云洁.自动化专业“C语言程序设计”教学思考[J].电气电子教学学报,2013(6)
[4]焦计划.基于AVR机器人的C语言项目式教学设计[J].计算机光盘软件与应用,2012(8)
【基金项目】2015年度广西高等教育本科教学改革工程A类项目“地方本科高校转型发展形势下工科专业创新创业人才培养模式的研究与实践”(2015JGA330);广西教育厅精品视频公开课和在线开放课程“智能机器人设计与制作”;河池学院课堂教学模式改革项目“CDIO教学模式在《机器人设计与制作》课程中的应用”(2015KG14)
【作者简介】彭建盛(1979一),男,湖南茶陵人,河池学院副教授,高级工程师,博士。
(责编 丁梦)