APP下载

嵌入式系统课程教学方法探索

2011-12-31王苏峰唐玉华陆洪毅王进

计算机教育 2011年20期

  摘要:嵌入式计算技术飞速发展,嵌入式系统已成为计算机应用的一个重要方向,“嵌入式系统”课程也成为计算机专业的一门重要课程。为了更好地适应新时代的变革,满足卓越工程师培养的需要,文章重点阐述“嵌入式系统”课程教学方法改革,以多年来从事“嵌入式系统”课程教学体会,与同行广泛交流,共享经验、共同促进、共同提高。
  关键词:嵌入式系统;案例教学;启发教学;层次教学;多元化考核
  
  作者简介:王苏峰,男,副教授,研究方向为嵌入式计算。
  
  “嵌入式系统”课程是我院计算机专业学生的一门专业必修课程,它着重培养学生对嵌入式系统设计方法的理解,使学生具备简单嵌入式系统的设计和综合应用能力,是培养卓越工程师的核心课程。多年来,在院系室三级组织的高度重视和大力支持下,在课程组老师坚持不懈努力下,本课程日趋成熟,形成了一个教学内容丰富、教学方法合理、实验内容和实验体系逐步完善的教学环境。同时,课程组老师同步完成了《嵌入式系统原理与设计》教材的撰写工作,该教材于2007年11月在高等教育出版社正式出版,并列入国家“十一五”规划教材。
  2008年以来,课程组老师进一步完善教学大纲、课程标准、实验大纲和实验指导书,添置了更多实验设备,建立了更好的实验环境。在上级组织的关怀下,课程组师资力量也明显加强,形成了职称、学历、年龄、学缘结构科学合理的教师梯队。授课之余,课程组老师经常进行教学研讨,不断进行教学方法和教学手段改革,采用理论教学、实验教学、课程设计、创新实践、科研和教学结合、设计竞赛等相结合的立体化教学模式,教学手段全面现代化,强化多媒体教学和网络教学手段,逐步提升教学效果。经过多年的教学改革与实践探索,“嵌入式系统”课程日臻完善,并取得了一定的成绩。2009年,“嵌入式系统”被评为“教育部-英特尔精品课程”,2010年,“嵌入式系统”被评为国家精品课程。
  为了更好地建设好“嵌入式系统”国家精品课
  
  程[1],满足卓越工程师培养的迫切需要,课程组老师不断探索,进行教学方法改革。
  1以科研促教学,相辅相成
  在众多973项目、863项目、国家自然科学基金项目以及其他科研项目的强力支持下,课程组老师通过不断积累,具有了深厚的科研工作基础和丰富的工程实践经验,也吸取了丰富的营养元素,开阔了视野,为教学工作进一步提升打下了坚实基础。反过来,科研支持的教学又为科学研究提供了大量的新鲜血液,夯实了科研工作的基础平台。教学服务科研、科研反哺教学,课程组老师受益匪浅,做到了教研相长、相辅相成。
  由于有众多科研项目作为后盾,在教学活动中,课程组老师选择了一些典型的来源于科研项目的案例,并按照项目推进过程传授给学生。例如,通过详细剖析GPS导航系统的来龙去脉[4],来解释嵌入式系统的设计方法以及设计过程,让学生体会方案设计的重要性;通过数字中短波收音机[7]以及雷达自动伺服系统来解释嵌入式处理器、嵌入式操作系统的选择以及设计过程;通过对“腾越-I”嵌入式处理器的讲解,让学生对嵌入式处理器与通用处理器的异同有了更深入的理解。在案例的教学过程中,课程组老师根据自己科研工作的体会,要求学生要特别重视项目设计的基本思路、项目设计的全过程、面临的问题以及解决问题办法,等等。
  
  图1是实际案例数字中短波收音机的信道解调模块的功能框图。在课程讲授中,通过对数字中短波收音机的信道解调模块的深入分析,可以让学生深刻地领会一个复杂的嵌入式系统的分析、设计及测试的全过程。通过实例也很容易使学生明白嵌入式处理器、嵌入式操作系统、存储器以及I/O接口选择中受制的因素,避免了在传统教学中,老师只能讲授选择的原则,学生听完后还是一头雾水,不明所以。
  实时性对各类嵌入式系统的作用不言而喻,但实时性分析始终是学生学习中难以逾越的鸿沟。为了让学生充分理解嵌入式系统的实时性,通过实际案例讲授,可以在系统分析阶段,通过算法来估算每一个模块的计算量,作简略实时性分析;在系统测试阶段,通过大量的测试获取实际运行数据,并以图表形式分析实际系统实时性,这些分析工作可以明显提高学生对嵌入式系统实时性分析的理解。如图2所示(图2中左图为系统总实时性测试,右图为其中一个模块实时性测试)。
  
  图1数字中短波收音机信道解调模块
  
  图2实时性测试
  
  2以学生为主体,循循善诱
  研讨式教学突出了学生在学习过程中的主体地位,能够充分调动学生的学习积极性、主动性和创造性,有利于培养学生的综合能力,提高学生的综合素质。为了发挥研讨式教学的优势,课程组老师在授课过程中,有意针对典型问题展开课堂讨论,鼓励学术争鸣,诱导学生循序渐进以及互相评价,以提高学生思考问题的积极性。如图3所示。
  
  图3研讨式教学
  以嵌入式系统实时性分析为例[4]:针对5种典型实时编程结构[5]的实时性、优缺点以及应用领域展开讨论(这些内容在前导课程已经接触过,比较容易引起共鸣)。以系统实时性分析为主线,按照技术发展的来龙去脉,首先针对基于查询方式的实时编程结构展开讨论,以学生为主体来讨论实时性、优缺点以及应用领域;针对前一种实时编程的问题(对事件响应不能实时,容易丢弃异步事件,所有任务具有相同优先级别等[5])适时引入基于中断方式的实时编程结构,让学生分析它解决了什么问题(具有什么优点以及应用领域),又引入了什么新问题(容易漏掉低优先级的异步事件、容易导致栈溢出致使堆栈不可预测、调用不可重入型函数时要满足互斥条件等[5]);针对新问题接着引入基于前后台系统的实时编程结构,让学生分析它解决了什么问题(具有什么优点以及应用领域),又引入了什么新问题(任务实时性、可靠性难以满足要求[5]);针对新问题接着引入基于非抢占式实时操作系统的实时编程结构,让学生分析它解决了什么问题(具有什么优点以及应用领域),又引入了什么新问题(如果最长任务的执行时间不能确定,系统的任务响应时间就不能确定[5]);针对新问题接着引入基于抢占式实时操作系统的实时编程结构,让学生分析它解决了什么问题(具有什么优点以及应用领域),又引入了什么新问题(优先级倒置、调用不可重入型函数时要满足互斥条件[5])。
  
  启发式课堂讨论形式可以有效提高学生参与课堂教学活动的积极性,提高学生分析问题、解决问题的能力,让学生再一次印证“发现问题、分析问题、解决问题”的重要性。
  3分层次教学,滚动推进
  本课程的培养方案积极贯彻了学院倡导的系列课程建设思路——本硕打通、通盘考虑、剔除冗余、精益求精,所以,我们在课程教学内容上进行了分级教学,设置了高低两个层次内容:基础部分和高级部分。学生可根据自己的基础、能力、研究方向以及兴趣爱好选择不同层次的教学内容以及配套实验内容,以体现教学的层次性,并满足各类人员的需求。
  在2009培养方案中,我们新增加了选修课程“高性能嵌入式计算”[6],满足相控阵雷达、合成孔径雷达、天基红外预警、深空探测等对计算能力有较高需求的嵌入式计算领域。本课程主要面向专业领域问题,完成从问题空间到算法空间再到实现空间的映射,而且重点是在体积、重量、功耗的严格约束下,依托于ASIC(专用集成电路)、FPGA(可编程门阵列)、DSP(数字信号处理器)、其他COTS(商用处理器)以及并行计算技术,如何构建一个高性能嵌入式计算系统。如图4所示[7-8]。
  
  
  图4分层次课程教学
  
  实践教学部分也分为三个层次[7],按照高中低搭配的原则进行设置。低层次实践是课内验证实验,属于基础实验,验证实验与课程教学内容相配套,主要是让学生掌握课内重要知识点;中层次实践是课程设计实验,课程设计单独开课,多元考核,主要是考察学生进行综合性嵌入式系统设计的能力;高层次实践是创新性实验,要求做一个带有创意的嵌入式系统综合项目,组团按需竞争申请,配套有专门支持经费及指导教师,节点汇报、检查,结题答辩、验收,并进行成果展示对比,主要是培养学生的团队组织、管理和协调能力,倡导学生敢于尝试、敢于冒险、敢于竞争的创新精神。三个层次之间循序渐进、环环相扣。如图5所示[7]。
  
  图5分层次实践教学
  4多元化考核,强调综合素质
  课程与课程设计分开考核。课程考核由三部分组成:笔试占70%,实验占20%,课堂提问、专题报告以及作业占10%。笔试考核属于基础知识考核,有选择、填空、简答及分析题。实验考核方式为:对于基础验证性实验当场提问验收;对于综合验证实验要求学生分组进行讲解,把问题、思路、结果讲清楚并进行适当演示;在实验考核中体现实验预习、实验过程、实验报告等每一个环节,使学生重视实验的每一个环节。专题报告是要求学生分组作报告,大部分报告是近几年来的前沿论文,它可以让学生既了解学科发展的前沿,又开阔视野。图6是课程考核的成绩构成详单(不包括课程设计)。
  课程设计由设计方案、实验验收以及实验报告3
  
  个部分组成。实验验收结合实验基本要求和高级要求进行,主要验收内容有:实验板子装焊正确、硬软件运行正确、操作熟练程度以及现场提问构成。实验报告包括:实验目的和要求,实验内容和原理,实验项目、实验器材、操作方法与实验步骤,实验数据、实验结果及分析,问题与建议。
  
  图6课程考核成绩
  5结语
  课程组老师在教学方法上不断地探索、不断地变革,使教学方法多种多样,特色突出,紧跟时代发展的步伐,充分地调动了学生学习积极性。学生对本课程非常重视,表现出浓厚的兴趣,除认真听课、阅读教材和完成作业外,积极参与课程实验,主动开展自主研究,自己动手设计和实现一些简单的嵌入式应用系统,有助于培养在实际应用中运用计算机技术的能力,锻炼实践动手能力。
  
  参考文献:
  [1] 尚利宏. 北京航空航天大学“嵌入式系统设计”精品课程建设[J]. 计算