陈 博 叶 勇
摘要:嵌入式专业作为一个新兴专业有其自身的特点、规律。目前国内在此专业的课程群建设方面还处于探索阶段。本文通过分析国内外嵌入式系统教学的现状,阐述了嵌入式系统教学体系的架构和特点,在此基础上,提出了一种面向多应用领域的嵌入式系统课程群建设的方案;并将此课程群在本学院进行了实践,教学效果表明该方案符合社会与学生的需要,教学效果良好,对应用型研究生人才的培养具有一定的参考价值。
关键词:嵌入式;课程群;多应用领域;软件学院
中图分类号:G642 文献标识码:B
1引言
嵌入式系统可以被认为是一种专用的计算机系统,其专业基础知识主要涵盖目前较为成熟的半导体技术、电子工程及计算机技术等,是多种先进技术相互融合的产物。由于嵌入式知识涉及多领域,以至目前在此专业的课程设置上并没有一个明确的定位。计算机学院的嵌入式方向可能侧重应用软件的开发,电子及半导体学院可能更偏重硬件方面,而嵌入式专业开设的目的则是培养软、硬件相互结合的复合型人才。专业自身的特点使得建立一个符合人才市场需求,具有建设性的嵌入式专业课程体系成为必要解决的问题。
2国内外目前嵌入式人才培养及课程设置状况
目前国内有多所高校开设嵌入式系统相关课程,如北京大学、北京航空航天大学等,国外高校如耶鲁大学、剑桥大学等的嵌入式课程设置也有很高的借鉴价值。课程的开设几乎都是针对嵌入式的自身特点,从上层应用软件开发到底层硬件平台搭建被划分成一系列课程。硬件层次方向比较典型的课程有北京大学的“嵌入式微处理器设计”、北京航空航天大学的“可编程器件”及剑桥大学的“System on Chip Design and Modelling”等;而软件层次方向的课程如北京大学的“嵌入式软件设计与编程”、北京航空航天大学的“Windows CE与嵌入式软件开发”及剑桥大学的“Low Power Embedded Systems Programming”(低功耗嵌入式系统编程)等。从各高校的课程设置上也可以看出嵌入式技术为系统软件与硬件的结合。
3面向多应用领域的嵌入式系统课程体系建设
嵌入式系统是一个涉及多技术领域的知识范畴。基于嵌入式系统本身的特点,人才培养不但要掌握电子技术方面的基础知识,而且要对计算机体系结构有比较深入的理解,这就给人才的培养增加了难度。一方面,嵌入式系统的应用性强,技术发展迅速,而更多高校嵌入式专业课程的开设并没有形成系统、完善的课程体系,并没有从最本质的角度去建立嵌入式体系的课程群,仅仅是对一些主流的技术进行课程的设置,影响了教学的效果。另外一方面,嵌入式技术为软、硬件的结合,而某些高校仍然将传统的单片机甚至基本的嵌入式理论知识作为授课内容,在知识的更新上并没有符合实际的需求。因此,建立一个既符合嵌入式系统发展方向,又具有前瞻性的嵌入式系统课程群成为了必要。
本学院针对嵌入式系统本身具有的特点,以“宽基础,强技能”为原则,设置面向多应用领域的嵌入式系统课程群(如图1所示)。嵌入式系统本身的特点,使得本专业学生需要很宽泛的基础知识,如电子专业和计算机专业等的基础内容。因此学院招收的嵌入式方向硕士均为本科专业为电子、半导体及计算机相关学院就读的学生。而在嵌入式专业课程教学前,会对部分学生进行基础知识的加强,开设“C语言与数据结构”,“计算机网络”,“数据库及操作系统”等课程,使得学生在开始系统学习嵌入式知识以前,具备学习的基础。
3.1理论课程体系
嵌入式系统有知识面广、应用领域广等特点,因此多数计算机、电子及自动化专业的基础课程也应该作为先修基础课程,而本学院面向的学生为研究生层次,因此并没有在广义层面上涉及所需要的所有课程,而只是从狭义的范围进行针对性的设置。课程的开设从嵌入式底层硬件知
识到上层应用程序的开发都有一个较好的过渡。
在对于硬件平台方面,不但要掌握基本的、共性的硬件结构知识,还应该具备一些硬件设计的基本流程等,课程安排了如“SOC设计方法”、“EDA技术”等,在此设置上更多侧重对硬件平台的掌握,使得学生在具备基本的电子专业类知识的同时,可以对SOC、FPGA等技术有侧重地学习,以及对此类项目的开发有较深入的理解。
针对操作系统层面的课程开设,学院设置了“嵌入式操作系统”、“Windows CE软件设计”及“基于Symbian OS的手机开发与应用”。在此方面“嵌入式操作系统”应该系统介绍主流嵌入式操作系统,从主要数据结构的角度出发,分析源代码开放的操作系统Linux,辅以μC/OS Ⅱ、RTems等操作系统。课程将重点介绍进程调度、进程间通信、内存管理和I/O驱动机制等,使学生具备裁剪操作系统、移植内核的能力。而对于基于Windows CE及Symbian操作系统的开发,同时也应属于应用程序的层面。两个课程并不是分析两个操作系统,而是基于两个操作系统的上层软件设计。Windows CE及Symbian操作系统在手机开发上占据主导地位,使得开设此课程成为必要。
在上层应用程序方面,学院开设“基于VxWorks的嵌入式软件开发”等课程,并辅助开设部分嵌入式设计方法及工具的相关课程,如“虚拟仪器仪表”、“无线传感器网络”等。这些当前较为流行的设计方法与工具可以在某种程度上提高项目开发的效率。因此,该类课程的开设可以拓展学生的知识面,提高学生研发的进度。
3.2实践课程体系
嵌入式系统知识的实践性很强。学生在学习了理论知识以后,如何能够在实践中掌握并使用所学到的开发方法和技能,是一个值得关注的问题。为此,学院以培养符合社会需要的嵌入式系统方面的人才为目标,充分考虑嵌入式系统开发的关键环节、嵌入式软件开发的特殊性及社会对嵌入式人才知识体系需求的特点等,提出了以多种实践环节,多层次实验项目为主要内容的嵌入式实践课程体系。具体由专业课实验、课程项目、工程实践及毕业设计组成。
在专业课实验设置上,各专业课程设有相应实验内容,根据本专业实践性强的特点,学院规定实验课程学时为理论课程的1/2,以达到在实践中强化知识,锻炼综合能力与检验学习的效果。在实验内容设置上,均侧重理论联系实践的本质,如“嵌入式系统设计”的实验课程设置如表1所示。
学生需要在S3C2410平台上完成表1所列实验。通过实验的完成,学生能够对ARM开发板有了一定程度的了解,完成从理论到实践的转变。同时可以鼓励学生使用开发板进行简单的创新项目开发。
在课程项目开设上,针对某些课程的特点,对实验课程的安排除了基本的专业课程实验外,辅助安排课程项目,如“虚拟仪器仪表”课程,在学习掌握智能仪器仪表的各种技术和理论的同时,通过循序渐进的若干专业课程实验,最终实现对某电工或通讯等方面的大型项目的设计,使得学生对软件工具Labview平台有一定程度的掌握。
工程实践环节是实践课程的重要组成部分,学生需要利用5~6个月的时间完成某中型项目的从可行性分析到综合测试的所有软件规范的过程。其目的是使学生所学各科专业知识得到整合,并让学生熟悉软件工程过程与规范,提高编程能力。学生在完成工程实践后需要提交详细的设计说明书、模块源代码、测试报告等,教师须根据学生提交的文档及源代码进行考核。
3.3公共基础课
学院同时开设了相关的基础课程,如“管理心理学”、“知识产权基础”等。应该说基础课程的开设是与嵌入式行业、学生自身的发展密切相关的,如知识产权与计算机软件的关系,而学生长远的发展也需要管理者的相关知识。这使得此类课程成为了学生必要的知识储备。
4教师队伍建设
建立高水平的师资队伍是教学改革的又一个重要的任务,也是实现建设目标、提高教学质量的关键因素。学院通过引进和培养提高的方式增加了师资的数量,优化了师资结构,提高了教师素质,达到合理师生比。学院教师
中1/3为专职教师,1/3为学院聘请海内外著名企业和大学的专家、教授,1/3为其他兄弟院系的教授及优秀教师。良好的教师组成结构和不同的学术背景使教师能够互相交流,取长补短,融合学术思想和教学观念,对教学起到直接的推动作用。
5总结
嵌入式系统是近几年计算机专业迅速发展的一个方向,各高校也在越来越多地关注这个产业及相应的专业人才培养。建立相应的专业课程体系、实验体系以及教师体系成为当前的迫切需求。本文在对本院几年来嵌入式专业课程设置及社会对嵌入式人才需求进行分析的基础上,从社会的实际需求及人才发展的长远角度,对嵌入式的专业课程体系进行了重组,并对教学内容进行了改革和优化,强化了专业实验及工程实践环节,多方面地对嵌入式知识体系进行了整合。
参考文献:
[1] 魏巍,宋海玉,王玲芬. 嵌入式系统课群的教学实践[J]. 辽宁:大连民族学院学报,2009,11(3):282-285.
[2] 马小军,王育坚. 计算机应用型人才培养与课程建设浅析[J]. 计算机教育,2009(10):9-11.
[3] 凌明,王学香,钟锐. 电子类专业嵌入式系统课程体系建设探索[J]. 电气电子教学学报,2007,29(5):4-7.
[4] 彭宏. FPGA技术在通信系统大型实验中的应用[J]. 上海:实验室研究与探索,2006(4):472-475.
[5] 徐慧,金敏.“三点一线”教学方法在“嵌入式系统”课程中的应用[J]. 计算机教育,2009(10):39-41.