基于教学机器人的C语言教学改革和探索
2021-11-28朱新波
朱新波
摘要:分析了高校C语言课程教学现状和存在的问题,提出了基于教学机器人的C语言教学方式,通过教学机器人的运用,调动学生学习的积极性,增强学生的实践能力,提高教学成效。
关键词:C语言;教学机器人;单片机;教学改革
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2021)30-0164-02
开放科学(资源服务)标识码(OSID):
Teaching Reform and Exploration of C Language Based on Teaching Robot
ZHU Xin-bo
(Lijiang College, Guangxi Normal University, Guilin 541006, China)
Abstract:This paper analyses the current situation and existing problems of C language teaching in Colleges and universities, and puts forward a C language teaching method based on teaching robots. Through the application of teaching robots, students enthusiasm of learning can be mobilized, students' practical ability can be enhanced and teaching effectiveness can be improved.
Key words:C language; teaching robot; MCU; Teaching Reform
C语言程序设计是许多高校计算机、电子等工科专业的必修课,其目标是培养学生的计算机思维能力以及解决问题的能力。作为一门实践性较强的课程,C语言在培养学生的创新能力、团队协作能力上,也有着很强的促进作用,因此如何在教学过程中突出实践,巩固学生对基础知识的理解与应用,对教学效果有着更好的促进作用。
1 C语言教学现状及存在的问题
目前大部分高校C语言教学依然采取的是传统模式,主要表现在“教师讲解,学生听课、练习操作”,课堂教学依然围绕以基础知识、语法为中心,以控制结构、数组、字符串、函数、指针、位处理等内容来实施,这种教学方式强调以老师和课本为主体,关注的是理论知识,侧重的是教师的教,但是对于学生来说,往往容易陷入被动学习的状态,缺点主要有以下两个方面:
(1)知识枯燥,学习动力不足:传统教学方式更方便教师很好地讲授编程思想,传授语法细节、程序设计的技巧和方法,但过度语法化的教学形式,会使学生失去了应用能力的塑造,且沉迷于理论技巧的局限,更不利于学生的创新能力的培养。另外,大部分独立学院的学生基础知识相对薄弱,偏理论的教学形式也会降低学生们对课程学习的兴趣。
(2) 实践性差:以作者所在的独立学院为例,超过半数的学生觉得,他们的基础语法知识学了很多,但大部分却不知道如何实际运用,尤其是不知道如何把C语言和自己所学专业或兴趣爱好相关联,不少学生觉得这是一门纯思维训练课,跟着老师过完了课本知识,无法实践落地,最终影响了学习的效果。
2教學实验平台搭建
针对上述当前C语言教学中遇到的问题,不难发现如何激发学生学习热情,并能学以致用,是课程改革的关键。
随着科技的进步,以C语言为主要开发语言的嵌入式系统被广泛运用到各行各业,如机器人、四旋翼飞行器、物流无人车等,因此设计一种基于嵌入式平台的C语言项目式教学系统,通过实践操作的方式来引导学生,在操作中传授理论,在项目中培养创新能力,不仅能解决学生们学无所用的困惑,还能在实践中锻炼学生的创新应用能力,受到越来越多高校和培训机构的青睐。
2.1 硬件平台搭建
教学机器人平台的选择是教学改革探索的关键,如今市场上的处理器种类繁多,性能各异,高端的ARM处理器不仅硬件结构复杂,使用成本高,还往往交叉了多个学科的知识点,如Cortex-A系列处理器,应用平台综合了操作系统、数据结构、控制工程等课程的知识,这些对于还在学习C语言的大学低年级学生来说不切实际,而C51单片机不仅硬件电路简单、软件编程容易,经济实惠又具备良好的稳定性,是C语言教学的首选平台。
经过对比分析,我们选用了C51系列单片机家族中Atmel公司生产的AT89S52单片机为核心的C语言教学机器人,其内含8k 字节ISP,可反复擦写次数多达1000多次,其兼容标准的MCS-51指令系统,是当前高校单片机课程试验平台和众多嵌入式应用系统的首选处理器。本文的教学平台系统框架如下图1所示。
该机器人平台通过搭配红外传感器、触觉传感模块、颜色传感模块、通信模块等,使得该教学机器人具备串口通信、红外收发、循迹、避障等功能。
2.2 软件库函数
为了方便学生使用,特别是我校的计算机类学生的课程主要偏向上层应用软件,对底层硬件涉及不足,因此必须事先准备好关键库函数以方便调用,让学生把精力集中在上层应用软件设计,从而无须过多涉及底层硬件电路即可轻松控制机器人。设计好的库函数均放置在工程中的uart.h文件中,部分库函数如下表1所示:
3 C语言机器人教学方案设计
3.1设计原则
趣味性原则:只有激发学习兴趣,才能充分调动学生学习积极性,使得他们主动融入课堂并提升动手能力的教学目的。
实践性原则:通过实践操作的方式,使学生能把理论知识运用于项目当中,在应用中体会到C语言的实用性。
3.2设计内容
课堂教学的形式是:教师课堂讲授原理、基本知识及应用注意事项,学生则主要集中在是编码、测试等实践操作上,整个教学过程体现“做中学、学中做”教学思想。围绕着项目,自己动手完成代码编写、编译、烧写、调试等环节,把枯燥的概念与鲜活的实物紧密结合,以达到学以致用的目的。
教学设计的目标是:根据教学大纲的要求,结合教学机器人平台的资源,达到实践教学目的,培养创新性应用型人才。表2为作者在教学中所使用的教学项目与C语言知识点对照表:
通过上述6个实践项目,以C语言教学机器人为对象,充分覆盖了C语言教学大纲,还能设计创新性拓展项目,不仅学习了C语言知识,锻炼了实践能力,还提高了创新思维,进一步提升了学生的综合素质。
4结论
本文分析了当前高等院校传统C语言课程教学中存在的问题,设计了C语言机器人项目式教学新模式,将C语言的理论知识和教学机器人的实际运行效果相关联,激发了学生的学习兴趣,提高了学生编程能力和创新能力,经过近2年的实际运行,教学效果明显,基本实现预期教学目标,对计算机及电子类相关专业的应用型课程的教学改革具备一定的示范作用。
参考文献:
[1] 谭浩强.C语言程序设计教程[M].3版.北京:清华大学出版社,2013.
[2] 熊中刚,罗素莲.基于单片机的“C语言”教学方法探讨[J].教育教学论坛,2014(10):66-67.
[3] 鞠阳.基于C语言的单片机与接口技术课程教学改革探索[J].中国教育技术装备,2012(24):80-82.
[4] 黄建灯.《C语言程序设计》教学改革探讨[J].电子世界,2012(23):172.
【通联编辑:梁书】