彭莉
[摘 要] 单片机作为电子、机电类专业的核心课程,其理论性、技术性和工程性都较强,要求学生在掌握模电、数电的基础上,对编程逻辑、接口技术等有更深的理解。但职业学校学生普遍存在理论基础较为薄弱和逻辑思维较弱的特点,因此单片机课程在近年来的教学改革后,教学效率反而变得更为低下。针对单片机教学中出现的实际问题,通过教学实践,提出以图形化编程的课程实现模式进行单片机课程教学。
[关 键 词] 图形化编程;单片机教学;编程逻辑
[中图分类号] G712 [文献标志码] A [文章编号] 2096-0603(2020)03-0022-02
随着信息化和智能化的发展,单片机以其体积小、功耗低、功能强等优点在智能家居、工业控制、通信技术以及数据采集等方面得到了广泛的应用。而单片机课程作为电子、机电类专业的必修课,其开设不仅是基于学生职业生涯的实际技能需求考虑,更是为了训练学生的编程思维与逻辑,掌握电子电路的具体应用,掌握接口技术与原理。因此单片机课程的开设显得尤为重要。但单片机课程作为一门综合性极强的学科,学生往往会觉得课程较为抽象难以理解,导致学生的学习兴趣缺乏,学习效果差。这迫切需要单片机课程在内容和教学方式上都能根据学生学情、技能需求进行转变。
一、单片机课程教学现状
职业学校学生的理论基础薄弱、逻辑思维较差的特点导致综合性较强的单片机课程开展举步维艰。大部分学校开展单片机课程教学效果低下,不能满足课程教学要求,更不能适应新形势下职业教育的培养目标。主要的问题出现在以下几个方面。
(一)教学平台缺乏,教学资源建设不完善
随着职业教育的改革,职业学校对学生实践能力的培养也越来越重视,但是受限于学校的办学条件,目前大多职业院校的单片机教学平台依然相对缺乏,很多学校并没有配套的实训教学平台,学生只能在课件等多媒体资源的帮助下去死记硬背单片机的接口、内部构成。而项目式的开展也多以仿真教学为主,实训条件的缺乏让学生很难真正进行单片机项目的实训和开发。再者,教材、教学视频、项目案例等资源也与学生的实际课程相差较多。现在职业学校的单片机教材大多是从高职本科院校的单片机教材经过简单删减而来,并不完全适应职业学校的培养目标。单片机教学由于教学平台、教学资源的限制更造成教学效率低下的情况。很多职业学校学生在学习完单片机后并不能很好地应用单片机的技能。
(二)编程语言内容过多,学生只会死记硬背编程语言
目前单片机课程的开设多以单一的单片机型号进行开展,多选取51核心的51单片机,编程语言选取C或汇编。但大量的编程语言的组织形式和特定规范占用了教学的大部分时间。教师在授课时往往会采用大量的时间来讲授编程语言,并会针对编程语言的具体规范做详尽的说明。职业学校开设单片机课程的目的更多是为了让学生熟悉掌握电子基础后能掌握单片机接口技术的应用,而编程语言仅仅是实现教学效果和实训效果的工具。编程语言学习占用了大量的课堂时间,势必导致单片机基础原理和编程逻辑的学习时间变少。单片机的课程重心从编程逻辑、单片机原理转移到编程语言上,学生死记硬背编程语言。这与实际的技能要求和岗位要求相悖。
(三)采用项目式教学,但项目与实际岗位需求脱节
受课程改革和项目化教学推进的影响,单片机课程教学也越来越趋向项目化。目前大多学校开设单片机课程均以项目化的形式开展,尝试以项目式的方式进行知识点的讲解。单片机课程作为电子、电气专业的必修课程,是一门技能性课程。一方面其综合性较强,内容较为抽象,传统课堂中采取的“满堂灌”的教学方式在实际教学中很难取得好的效果;另一方面作为一门应用性的技能课程,单纯的知识点掌握远远不能满足学生对就业的需求,更不能满足学生对专业发展的需求。因此進行单片机教学应该让学生在学习理论知识的同时适时地进行项目实训,以便学生对知识点进行掌握理解并把它应用到实际的项目中。项目化教学就是把课程的知识体系打散,将知识点融入具体项目中,并制定对应的项目任务书,让学生在“做中学”“学中做”。项目化实训化理论知识为实际操作,符合中职学生的特点:中职学生普遍存在的特点是理论知识薄弱,惧怕理论,但喜欢动手,好奇心强,对有趣的、能看到的现象有浓厚兴趣。针对中职生的特点,理论知识的传授往往是中职课堂中的一个难点。而项目化教学就巧妙地对理论知识进行处理,融入具体的实操中,让学生在实际操作中掌握要学习的理论知识。
但目前的单片机教学的项目化项目设计上只是将原来课程教学中的教学任务进行了整理,并未从实际项目岗位出发对实际的工作岗位进行技能分析,对课程的项目设计进行重新整改,设计出符合岗位需求和时代要求的项目。因此单片机课程的项目教学很难从项目有效性和趣味性上引导学生学习的兴趣,教学效果大打折扣。
综上,单片机课程教学目前存在的教学实施平台、教学侧重点以及教学项目等方面的问题都急需一个新的教学内容和教学方式的改革。笔者从教学实践出发,尝试在现有的学校条件下,充分考虑低成本、易实现和好效果几个因素,引进图形化编程的单片机教学实践,从教学内容和教学方式上解决单片机教学中存在的教学平台、教材侧重以及教学项目三个问题。
二、图形化编程的优点
Arduino单片机是近年来兴起的开源电子原型平台,包含硬件和软件(Arduino IDE),Arduino IDE有官方的编程环境,是基于C语言进行的编程环境,同时还有丰富的第三方软件,很多第三方软件支持图形化编程,如ArduBlock和Mixly。图形化编程的软件是以图形化积木搭建的方式编程,使编程的可视化和交互性得到加强,编程门槛降低。
(一)弱化编程语言对课程的影响,强化编程逻辑
将图形化编程引进单片机课程教学中并不意味着省去了编程语言的学习,而是在学生对单片机接口原理、单片机的具体案例应用还没有形象认知的情况下,先用图形化的编程让学生对单片机应用起来,在应用过程中掌握单片机的内部组成、接口原理以及编程逻辑。再在学生掌握单片机原理和控制基础的情况下,使用编程语言进行项目的优化。这样既弱化了编程语言对课程实际实施的影响,保证了教学效果,又强化训练了学生的编程逻辑。
(二)突出教学的层次性,便于分层教学的开展
将Arduino单片机的图形化编程引入课堂中可以让上课教师很方便地对实训项目进行程序编写,下载调试。对于没有编程语言基础的学生可以免去传统单片机课程中的C语言或汇编语言对课程学习造成的困扰,而对于有编程语言基础的学生而言,在验证了项目效果后,也可以通过编程语言对项目的编程过程进行再优化。在单片机教学中,学生的水平参差不齐是教学效果不好的重要原因之一,而分层教学是解决这一难处的有效途径。通过图形化编程的教学形式既可满足低层次学生跟上课程进度的需求,也可满足高层次学生课程内容再拓展的需求。
(三)教学项目能落地,提高学生的学习兴趣
图形化编程的易入门性让教学实训项目可以很好很快地得到效果的呈现,一个完全没接触过单片机相关控制原理的学生在经过教师的指导后也能快速通过图形积木搭建的方式实现项目效果。让学生看到项目实施效果,看到单片机实际控制的效果一来可以增加课堂的趣味性,快速引起学生兴趣,二来也能很好地提高学生的学习成就感,形成正反馈的学习动力。
三、图形化编程的教学实践
近年来,笔者选取Arduino单片机结合Mixly对单片机课程教学进行教学实践,并取得了较好的效果。Mixly,中文名为米思齐,全称为Mixly_Arduino,是一款由北京师范大学教育学部创客教育实验室傅骞教授团队开发的图形化编程软件。该软件使用图形化编程的方式自动生成Arduino代码,并支持编译和烧录到对应硬件设备中。笔者在任教的两个班级中以项目化的实训以Arduino单片机结合Mixly平台进行单片机教学。从智能小车的行走动作入手讲解单片机I/O口的知识,从智能小车的花样动作讲解单片机的定时器中断,从避障和寻迹小车讲解单片机的中断和通讯。每个项目中分图形化的入门级编程,保证了项目的实训效果,再通过图形化编程自动生成的C语言代码入手分析编程语言和逻辑,最后根据编程语言和逻辑进行程序优化。在这一个层次分明的项目化任务实训中,基础较弱的学生能快速实现实训效果,激發学生进一步学习的兴趣。而基础较好的学生可以在C语言代码分析的基础上进行程序优化拓展,让学生的能力进一步提升。
经过一年来的教学实践,单片机课程的教学取得了较好的成效。其中每一个项目的基础部分班里85%以上的学生都能独立完成,100%的学生经过教师的演示能实现实训效果。而C语言程序分析部分,刚开始实施班里约45%的学生能独立完成,在实施一个月后,65%的学生能完成C语言的程序分析。学生的编程逻辑能力得到了显著的提升,而较高层次的程序优化部分,25%的学生能完成。通过教学实践可以清晰知道,图形化编程的引入对单片机课程教学起到了积极的作用。
基于图形化编程的单片机教学是在项目化教学法的前提下展开的教学内容的更新实践。实践过程中一是解决了传统单片机综合性强引起教学效果不佳的问题;二是更新了传统单片机教学的教学实训内容,降低了单片机的学习入门门槛,但又不以牺牲技能要求为代价。
参考文献:
[1]孙祎,王娟.浅谈中职单片机教学改革[J].经贸实践,2015(15).
[2]张林峰.浅谈中职学校单片机课程教学的改革[J].职业,2007(21):86-87.
[3]张志超.浅谈中职学校单片机课程教学改革[J].硅谷,2009(9):133.
[4]董小换.浅谈中职单片机课程教学改革之我见[J].才智,2012(15):167.
[5]刘志钢.浅谈中职学校如何有效开展单片机课程教学[J].轻工科技,2011(9):218-219.
[6]孙澄宇.浅谈中职学校单片机课程的教学[J].新课程(下),2014(12):135.
[7]赵晓龙,张等红,崔骁.关于中职学校单片机实践教学的思考[J].现代职业教育,2019(15):272-273.
[8]林毓祯.论基于能力培养的中职单片机教学改革与实践[J].科技展望,2016,26(6).
[9]刘广瑞,吴文静.单片机的图形化编程方法探讨[J].单片机与嵌入式系统应用,2008,8(7):74-75.
[10]王禹.中职Arduino单片机图形化编程教学实践:以单片机控制LED灯闪烁课程为例[J].职业,2015(9):94-95.
[11]范效玮.基于单片机的图形化编程平台的设计与实现[D].长沙:中南林业科技大学,2015.
[12]黎民山.基于流程图编程的单片机软件系统开发[J].产业与科技论坛,2019,18(3):83-84.