APP下载

计算机专业的嵌入式系统课程教学探讨

2011-12-31蒋银珍王宜怀

计算机教育 2011年18期

  摘要:为了提高嵌入式系统选修课程的教学质量,促进学生动手实践和创新能力的培养,文章从编写教材、研发实验仪器、改进教学模式、调动学生积极性等方面,给出了适应计算机本科专业学生特点的嵌入式系统课程的教学特点和授课方法。实践表明,该方法对于课时紧、内容广、实践性强的嵌入式系统课程行之有效。
  关键词:嵌入式系统教学 实践教学改革 竞赛与创新
  文章编号:1672-5913(2011)18-0046-03 中图分类号:G642 文献标识码:A
  近年来,与我国嵌入式系统产品的迅猛发展和巨大的产业需求相比,嵌入式系统工程人才培养相对落后[1]。在这种背景下,许多高校为软件、计算机以及微电子、电子信息工程、自动化等相关专业增设了嵌入式系统课程。目前,北大、清华、北航等学校已经把嵌入式作为一个专业方向,并建立了完整的嵌入式系统课程体系[2]。由于受传统的专业课程设置、师资、实验设备等条件的限制,苏州大学计算机科学与技术学院(以下简称“我院”)尚未成立嵌入式系统专业,目前的嵌入式系统课程为选修课,每年开设一学期(18周),每周6学时,选修对象仅为高年级计算机专业本科生。下面结合近几年的教学实践经验,对嵌入式系统选修课程的教学方法和特点进行探讨,以便具有相同情况的院校教师借鉴。
  1 自主编写教材,自主开发实验平台
  目前,嵌入式系统相关教材琳琅满目,具体选择哪一本作为教科用书至关重要。由于各个学校的特点、生源的质量以及专业的课程体系不同,嵌入式系统课程的教学计划和教学目标也不尽相同。在Freescale(飞思卡尔)大学计划的支持下,结合我院具体情况,我们自主编写了教材并研发了实验平台。
  1.1 自主编写教材
  由于我院的计算机专业本科一、二年级,数字逻辑、C/C++语言、操作系统、计算机网络等是各个专业方向的公共基础课,在本科三、四年级开设嵌入式系统选修课程的目的,旨在为对嵌入式系统应用感兴趣的同学提供一个学习的机会,为他们日后开发测控领域的嵌入式应用产品奠定坚实的基础。据此,我院组织了一批骨干教师自主编写了《基于32位ColdFire构建嵌入式系统》一书,作为嵌入式系统选修课程的教材。该教材以Freescale半导体公司的32位ColdFire系列微控制器MCF52233(含以太网接口)、MCF52235(含CAN总线接口)、MCF52223(含USB2.0接口)三个型号为蓝本,阐述嵌入式系统的软件与硬件设计。内容包括:嵌入式系统的知识体系、学习误区和学习建议;ColdFire系列微处理器特点;MCF52233硬件最小系统;UART、键盘、LED、LCD、AD、QSPI、I2C等模块的应用;Flash存储器在线编程;CAN总线、嵌入式以太网、USB 2.0通信机理;µC/OS-Ⅱ在ColdFire上的移植与应用等。
  1.2 自主研发实验平台
  为提高嵌入式系统课程的教学质量,我院建立了嵌入式系统实验室,为学生提供了良好的实践学习条件。学生实验所用仪器为自主研发的“SD嵌入式系统实验箱”。每台实验箱内配有电源适配器、扩展板、核心板、通信线(网线、串行口线、USB线)等。根据实验目的和要求不同,将相关核心板插入到扩展板上即可。例如,做网络通信实验时需插上MCF52233核心板;做USB2.0通信实验时需插上MCF52223核心板。实验箱提供的对外接口包括串行口、USB、SPI、网络、AD采集、键盘、液晶、数码管等。这种“扩展板+核心板”的实验箱组成方式为以后学习新的微处理提供了便利。
  由于教材与实验箱均为自主编写和开发,教材中的每个实验均可在实验箱上实践,避免了教材与实验设备不统一的问题。
  2 强调教学手段灵活多变
  由于我院的嵌入式系统选修课程面向全院各专业学生,学生的前期课程设置不尽相同,水平参差不齐。起初嵌入式系统课程的教学模式是,教师每周利用3节课时间在多媒体教室讲课;再利用3节课时间安排学生在嵌入式系统实验室完成老师布置的实验任务。实践证明,这种方法的教学效果比较差,由于理论课和实验课时间安排不连贯,学生在课堂上学到的知识得不到及时巩固、理解和加深,实验课上总是出现学生无从下手、一脸茫然的情况。后来,我们改变了这种授课模式,教学活动直接移到嵌入式系统实验室进行,并灵活选择各种教学手段,效果不错。
  2.1 合理安排理论课与实践课
  对于某些通用知识或理论性比较强的内容(例如微处理器的体系结构、SPI/CAN/USB/IIC通信机理等),可采用“先上课后实验”方式。在教师讲解的过程中,学生不做实验。只有让学生在透彻理解基本原理的基础上,学生才能读懂范例程序,进而在范例程序的基础上能够完成其他实验。
  对于有些内容,可采用“先实验后上课”方式,即先由学生将范例程序写入Flash运行并观察。当学生看到实验现象后,会产生好奇的心理,从而激发出他们的学习兴趣和求知欲望。例如,对于四联排数码管实验,写入范例程序后,数码管上会显示“1234”。教师可让学生带着下面两个问题听课:①四个数字是如何同时显示的?②如果要滚动显示“1234”应该如何修改范例程序?在这种“寻根究底”的教学模式下,学生的听课注意力会更加集中。
  2.2 分层设计嵌入式系统实验
  嵌入式系统是一门实践性很强的课程。因此,在嵌入式系统教学中,实验是最重要的环节之一,是学生掌握嵌入式系统设计技术的关键。我们将嵌入式系统实验分为三个层次:验证型、改进型和综合型,并且要求学生独立完成每个实验。
  验证型实验是最基本的实验,实验所用的范例程序由教师编写,严格遵循模块化设计规则,并附有详尽的使用说明,包括注意事项、需要的硬件连线等。这种实验的目的是使所有学生都能够顺利完成实验内容规定的操作并得到正确的实验结果,培养他们独立完成实验的自信心,同时要求学生看懂范例程序的执行流程,掌握程序的编写规范。如果不提供范例程序,而由学生从零开始编写,事实证明,将会有一半的学生因为长时间调试不成功而心灰意冷,失去了继续实验的勇气。该层次实验要求所有学生必须完成。
  改进型实验是要求学生在验证型实验的基础上进行软件和硬件的改进,以完成更加复杂的功能。例如,在串行口通信的验证型实验中,实现了微处理器一次仅接收PC机发送的一个字符;而在改进型实验中,要求学生实现微处理器一次能够接收PC机发送的一串字符。通过改进型实验可检查学生对所学知识的掌握程度,同时也让学生体会到自己动手的乐趣和实验成功的喜悦。该层次实验也要求所有学生必须完成。
  在学生积累了一定的嵌入式知识后,教师可布置综合型实验作业。例如讲解完LED、LCD、键盘以及UART之后,可要求学生实现:按下键盘上的某个键,将此键的自定义键符分别显示在LED和LCD上,同时通过串行口发送到PC机。综合型实验的目的是提高学生综合运用知识、分析问题以及解决问题的能力,发挥学生的主观能动性,达到将所学知识融会贯通的效果。根据综合型实验难度的不同,有时要求所有学生完成,有时仅要求部分学生完成。
  2.3 充分利用现代化教学手段
  作为传统板书教学的补充,因便于插入图片和动画,多媒体教学对提高学生学习兴趣、增加授课生动性大有裨益[3]。例如,若在课堂上通过板书形式绘制硬件电路图,势必要花费很长时间,而且与多媒体屏幕展示的电路图相比,在清晰度和美观性上都相对欠缺;而对于一些生动的教学图片或教学动画,板书形式根本无法表达。此外,多媒体教学所用的电子资料(如教学课件、教学影片等)可供教师重复利用和更新,也便于学生复制和阅读。
  
  目前,各大高校都建立了校园网络,网络的出现同时影响着教学方式和学习方式的改进。为了方便师生之间的交流沟通和资源共享,我们精心设计并创办了嵌入式系统辅助教学平台,作为对传统教学方式的补充。教学平台提供了学生在线、教师在线、模拟测试、资料下载、师生交流等模块。学生可在线查看或下载各种嵌入式学习资料,如教学课件和实验要求、实验箱内扩展板和各种核心板的原理图以及元件布局图、绘制原理图和布线图的规范、底层软件编程规范、芯片手册以及应用笔记等,同时,可把每次实验的程序代码和实验报告上传,供任课教师检查评阅。教师通过该平台可查看学生作业,编辑题库,组织试卷以及发布公告等。教学平台还开辟了嵌入式学习讨论区和答疑区,及时解决学生在学习过程中遇到的疑难问题。
  3 培养学生创新能力,提高教师自身素养
  嵌入式系统课程的教与学是一个“合作”的过程,衡量这种“合作”是否成功的标准是看学生能否将所学的知识应用到具体的嵌入式应用产品开发中[4]。在教学中我们发现,虽然我院的嵌入式系统课程为选修课,但有些同学对该课程兴趣浓厚,思维开阔。因此,我们每学期采用“双向选择”的方式选拔一些同学,由专职教师带队指导,积极参加各种嵌入式设计大赛,并取得了较好成绩。2009年11月,我院组成的两支队伍在长三角地区的“IEEE标准电脑鼠走迷宫”竞赛中获得1个一等奖和1个三等奖,最终在北京航空航天大学举办的全国总决赛中获得三等奖。为了拓宽学生的知识视野,促进学生创新能力的培养,增长相关行业背景知识,我们也会选拔一批有潜质的学生投入到教师的科研项目开发中,更好地实现“教师为主、学生参与”的教学结构。截至目前为止,学生参与的项目有校园机动车管理系统、城市照明智能控制系统、小区电动车管理系统、基于二代身份证的考勤系统等。实践表明,参加过竞赛和科研项目的学生基础知识更加扎实,自学能力和动手能力大幅提高。
  此外,为了紧跟时代的步伐,时刻引领新知识、新技术,避免知识的陈旧性,教师应充分利用寒暑假时间参加各种嵌入式系统师资培训,与兄弟院校的同行交流教学经验。在教学工作之余,积极主动与企业洽谈合作科研项目,提高自身的科研能力。
  4 结语
  最适合的方法才是最好的方法[5]。由于我院的计算机专业本科生侧重于高端应用程序的开发,嵌入式系统课程仅为高年级的选修课程,完善的课程体系尚未建立,因此,在教学中,我们没有照搬照抄其他院校的教学模式,而是根据我院学生的具体特点,合理安排教学内容、侧重于培养学生开发硬件驱动程序的能力。经过几年的努力,我们自己摸索出来的嵌入式系统课程教学方法越来越得到同行和学生的认可,每年选修该课程的学生人数急剧增加就是最好的印证。
  参考文献:
  [1]