APP下载

嵌入式操作系统课程的案例教学法

2011-12-31徐钦桂赵维铨谭伟黄培灿

计算机教育 2011年18期

  摘要:针对“嵌入式操作系统”课程内容自身特点,提出实验平台选择、课程教学内容设置建议,探索在教学中采用案例教学法,建立一个多层次教学案例库,探讨案例选择、学时安排和课程考核中应注意的问题,通过强调综合和创新实训案例教学和创新实验环境建设,增强学生应用开发能力和技术技能的实用性,教学效果明显提高。
  关键词:教学案例 案例教学 嵌入式操作系统 实践体系
  文章编号:1672-5913(2011)18-0057-04 中图分类号:G642 文献标识码:A
  基金项目:广东省本科高等教育改革立项项目(BKJG200756)。
  
  嵌入式系统技术的发展不但使传统的过程控制、仪器仪表和军事装备获得技术革新,还创造了信息家电、消费电子和智能通信等多种新的产品形态,实现了计算的无处不在、无时不在(Pervasive Computing)[1],改变了人们的生活、工作和娱乐方式。伴随嵌入式系统市场的快速增长,嵌入式人才缺口将急剧增大,嵌入式软硬件工程师将成为近年来最热门的职业之一[2]。ACM/IEEE在2005计算机课程报告中将嵌入式系统作为计算机学科知识体系的重要知识点[3]。因此,近几年众多高校开设了嵌入式系统相关课程,并研究如何形成规范的课程系统[4-6]。嵌入式操作系统负责嵌入式系统的资源管理、任务调度、系统控制等核心功能,是嵌入式应用开发的关键技术。广东省位于改革开放前沿,是嵌入式系统产品的重要设计和生产基地,市场对嵌入式技术人才需求量大、要求高,我校为计算机相关专业设置了嵌入式操作系统课程。该课程涉及的理论和技术复杂、广泛,实践性强,知识点间的关联性大,教学难度大,采用案例教学法提高教学效果的途径逐渐得到高校教师的认同,文献[7]采用以案例教学为主的教学内容体系和实验教学方法,提出了“兴趣驱动认知实践,应用引导创新体验”的实验教学思路,取得良好的教学效果。文献[8]采用以嵌入式系统为核心的项目教学和案例教学模式,把专业课程的主要知识点通过项目教学进行教授,以培养学生的实际应用能力、创新素质、综合能力,取得了比较好的教学效果。本文采用项目驱动的案例教学方法,利用一个可动态更新的多层次教学案例库,配合合理的教学案例选择、教学学时安排和课程考核方式,强调综合创新实训案例的教学,增强了学生的应用开发能力和技术技能的应用性,取得了较好的教学效果。
  1 平台选择和教学内容设置
  在先修课程“实时嵌入式系统”中,我们已经讲授了嵌入式系统的基本概念、嵌入式系统设计方法、ARM嵌入式微处理器及编程模型、典型存储器和总线、基本I/O接口部件、贪吃蛇等应用程序,介绍了COS-II实时多任务操作系统的结构,并通过实验了解了该系统的移植过程和应用开发方法。“嵌入式操作系统”课程主要培养学生对不同嵌入式操作系统进行移植、裁剪、编译和优化的能力,掌握设备驱动程序规范和开发方法,积累实际应用开发经验。由于COS-II的系统功能和任务规模相对简单,不利于充分发挥ARM9等32位高性能嵌入式微处理器的计算能力,应用支持软件较少,且主要用于各种工业测量和控制,难以体现其他主流嵌入式操作系统的系统结构、设计技术。在信息家电、消费电子和移动通信等领域,嵌入式Linux和Windows CE等系统提供了能与桌面操作系统相比拟的多任务管理能力和丰富的支撑软件,极大方便了嵌入式应用的开发,并得到广泛应用。其中,嵌入式Linux具有现代多任务高级操作系统的典型特征,源码开放,系统功能强大,内嵌TCP/IP协议,可剪裁性好,硬件支持广泛,开发工具免费,其内核代码、支持软件、应用开发环境都与桌面Linux系统相同,故以嵌入式Linux作为课程实验平台,掌握嵌入式Linux内核和应用开发技术,可为学生学习其他类型的嵌入式操作系统打下良好的基础。
  “嵌入式操作系统”的教学内容主要由四个模块构成:嵌入式Linux编程基础、嵌入式Linux系统构建和移植、嵌入式Linux驱动开发和嵌入式Linux应用开发。模块1是Linux环境下应用开发的基本方法、多任务管理以及任务间通信的编程方法,多数内容在“操作系统原理”课程的实验环节中已经学过,通过该模块的设置可以进行较为系统的复习和提高;在此基础上,模块2包括嵌入式Linux开发环境的建立,Linux内核、文件系统、图形库、嵌入式数据库、Web服务器等典型系统功能模块和支持软件包的移植、裁剪、配置、编译和下载,学习构建嵌入式Linux系统基本功能的技能技术;模块3讲授Linux设备驱动程序设计开发方法,包括字符设备、块设备、网络设备、USB设备的结构规范,通过典型设备驱动程序的分析和实验,掌握在嵌入式系统中加入新设备和定制设备驱动程序功能的基本方法;模块4是综合实训和创新应用开发,综合了前三个模块中获得的知识和技能,分析和开发数据采集、远程监控、定位导航等嵌入式系统应用功能,它可以培养学生的工程实践能力。
  
  2 实验条件建设及实践教学体系
  2.1 实验条件建设
  “嵌入式操作系统”属实验和实训课程得到众多教师的认同[9],该课程应按教学内容要求建设相应的实验条件,我校的“嵌入式系统”课程类实验设备有三类。
  1) 基本实验设备。包括80套博创2410S教学科研平台和配套的Linux PC,采用ARM9构架的S3c2410A处理器,具有丰富的外设资源,可开设模块1、模块2和模块3所需的所有实验,做到一人一套设备;
  2) 创新实验设备。可用于本课程的创新实验设备由多种不同类型的实训平台构成,包括PXA270 XScale教学科研平台、网络视频监控实训平台、智能收费系统实训平台、智能手机开发平台、Android手机开发平台、OMAP实验平台、Zigbee无线传感器开发平台各若干套,以满足模块4综合实训的需要,该类设备逐年更新,不断补充代表主流和前沿技术的实训设备;
  3) 辅助实验设备。与本课程有关的主要辅助实验设备有协助硬件调试用的仿真器、Flash烧写器、逻辑分析仪、示波器等。
  2.2 实践教学项目
  课程实践体系包括四个类别层次,按照课程的教学目的和实验条件状况,目前可开设的实验实践项目,四个类别的项目分别对应模块1到模块4中知识点的教学。类别1到类别3为基础实训项目,培养基本的嵌入式编程开发、软件移植、接口通信技术,类别4为综合和创新实训项目,培养学生综合运用知识解决问题和开发应用的能力,是课程教学重点。
  
  3 案例教学法
  3.1 实验实践项目驱动的案例式教学
  “嵌入式操作系统”课程教学内容多、实践性强,涉及的理论和技术广泛,传统的理论教学方法难以达到培养学生技术技能的目的。由于学生通过先修课程的学习已经具备程序设计、数据结构、计算机原理、汇编语言、操作系统和嵌入式系统的基本概念、理论、算法和知识,以实验实践项目为教学案例,运用案例教学手段进行示范教学,实现边讲边练[10],将已有知识和概念与嵌入式Linux内核、文件系统、任务调度、支持软件、驱动程序和典型应用系统的结构、原理和源代码实现相结合,循序渐进地引导学生掌握相应的知识和技能,可以触类旁通,培养分析和解决问题的能力,并加深对理论本身的理解。
  在嵌入式操作系统中实施案例教学可分为案例讲解和案例分析方法。前三类案例可采用案例讲解法,放弃理论原理的讲授,直接以案例驱动教学,在案例讲解中引用相关的理论、原理和算法,实现理论与实际的结合,通过安排与案例相近的实验作业或练习,培养知识的运用技能。第四类案例可采用案例分析法(又称案例讨论法),主要强调学生的参与性,由教师根据案例提出问题,学生与教师一起讨论问题解决的方法,引导学生分析问题,在分析过程中讲授用到的知识点和系统设计方法,一步一步完成项目的开发和实现,并在其后实践课上,让学生独立完成与教学案例相近的实训项目,巩固知识和操作,培养独立解决问题的能力。
  
  3.2 教学案例选择
  案例的选择是“嵌入式操作系统”课程案例教学的重要环节,直接影响教学效果,为提高学生的学习兴趣、综合运用知识的能力和应用开发能力,教学案例选择应考虑以下因素。
  1) 实用性。将案例引入教学的目的在于理论联系实际,促进教学,选择的案例应具有从局部到全面的特点,学生身临其境,以嵌入式软件工程师的角度考虑问题,学生把具体案例与嵌入式产品与应用相联系,彼此贯通,产生兴趣,从而调动学习热情。
  2) 综合性。嵌入式Linux适合设计开发功能强大、界面友好的嵌入式系统产品和应用,小实验程序无法显现其魅力,因此,我们可选择具有一定难度、深度和综合性的案例,吸引学生对案例去反复琢磨、推敲,激励学生系统研究、分析,加深对难点、重点问题的认识和掌握,从而取得较好的整体教学效果。
  3) 时效性。嵌入式系统技术作为当前电子技术发展最快的领域之一,新技术层出不穷,新产品不断涌现。“嵌入式操作系统”是一门实践性很强的课程,其教学案例应反映当前技术发展状况,将当前先进和主流的系统平台、应用开发模式、应用支持软件、网络通信技术纳入教学内容,将有用的知识、技术、技能传授给学生,使人才培养与市场需求接轨。
  4) 典型性。“嵌入式操作系统”的教学内容广泛,难以在课内完成所有教学内容和实训项目的教学,所选择的教学案例应用具有典型性,能反映课程知识的基本框架,具有触类旁通的特性,可培养学生学习本嵌入式系统设计开发新知识、新技能和新技术的能力。
  3.3 教学案例库建设
  为了覆盖课程教学内容所涉及的知识和技能,我们需要构建一个内容丰富、多层次、动态增长的教学案例库,教学案例库的构建途径有以下几种。
  1) 设备配套实验指导。设备供应商一般都开发实验项目和实验指导,免费赠送给高校教学使用,但这些实验项目往往较为粗糙,需要教师进行改造和优化,方可获得较好的教学效果。
  2) 优秀学生作品。学生在课程设计、科技竞赛、企业实习和毕业设计中开发的优秀软硬件作品和成果,可加以包装改造,它是教学案例的重要来源。
  3) 教学科研成果。教师可将教学和科研中设计开发的程序、算法、模块、软件、产品和成果进行案例化改造,制作成教学案例,这类案例通常具有较好的实用性、时效性和综合性。
  3.3 课时安排和课程考核
  本课程课内安排56学时,全部在嵌入式系统实验室授课,采用讲解、演示、讨论、操作和实验的方式进行教学,同时安排1:1的课外学时,用于复习、巩固和拓展课内讲授的知识和技能。为方便学生课外学习,嵌入式系统实验室实行7×24小时全部开放制度,坚持学生在实验中的主体地位,调动学生的积极性和自主权,提高教学效果。
  课程考核内容分为3部分:笔试成绩、基础实验和综合实验。笔试成绩占50%,主要考察学生对课程基本知识、概念、原理的理解,以及嵌入式操作系统设计、操作编程、应用开发的技术技能;基本实验占20%,是教学内容前三个模块对应的实验和实训项目,每个实验完成时,教师检查运行结果后给出成绩;综合实验占30%,教师布置多个具有一定难度和工作量的嵌入式应用开发项目让学生选择,学生利用课外时间完成,教师统一验收、检查和答辩,并给出成绩。参加嵌入式技术竞赛的学生适当加分,以引导学生向更高层次发展,挖掘学生潜力,培养学生创新意识。
  4 结语
  教学实践表明,实验实践项目驱动的案例教学法
  有利于学生学习和掌握“嵌入式操作系统”课程中的嵌入式系统设计和应用开发技术和技能,通过案例的讲解、分析、解剖和讨论,我们将先修课程中获得的理论、概念、算法与嵌入式Linux及嵌入式应用中的程序、模块和代码对应起来,实现理论和实践的结合,激发学生创造性思维,调动其学习的积极性,提高其分析问题和解决问题的能力。案例教学法开展两年来,学生基于嵌入式Linux设计先后开发了智能家居监控系统、可视对讲机、人体健康检测仪、校园一卡通等多种嵌入式系统产品,并在“挑战杯”和“博创杯”全国嵌入式系统设计竞赛中获得二等奖,嵌入式系统方向的毕业生就业率达到100%,其业务能力受到用人单位的好评。今后,我们将继续紧跟嵌入式系统技术最新发展,将主流和前沿技术纳入教学内容,不断充实教学案例库,进一步提高学生的综合实践能力。
  参考文献:
  [1]