嵌入式人才能力结构分析及教学体系设计
2014-07-01李文生陆洪毅吕燚
李文生 陆洪毅 吕燚
摘要:基于嵌入式人才的能力结构分析,提出嵌入式系统教学体系的构建思路,包括嵌入式系统相关核心课程和教学内容设置、针对不同培养目标的课程组合方案以及嵌入式实践教学体系设计。
关键词:嵌入式系统;能力结构;教学体系
0 引言
嵌入式系统是以嵌入式处理器或嵌入式控制器为核心,将其嵌入到产品或设备中以实现其功能的数字化和智能化的专用计算机系统。嵌入式系统的应用已经覆盖了包括消费类电子、智能家电、工业控制、通讯网络、仪器仪表、汽车电子等多个领域。随着嵌入式技术的发展和应用领域的不断拓展,社会对嵌入式技术人才的需求也越来越旺盛。为了适应市场需求,国内很多高校相继开设了嵌入式系统相关课程或设置了嵌入式系统相关专业方向,开展了各具特色的嵌入式系统教学实践。但是由于嵌入式系统面向应用的特点、嵌入式软硬平台和开发工具的多样性以及各个学校的学科背景的不同,各个学校开设的嵌入式系统相关课程、教学内容以及实践教学环节存在较大的差异,没有形成与嵌入式人才能力培养目标相适应的完整教学体系。
1 嵌入式人才能力培养目标
嵌入式系统尽管也属于计算机系统的一种,但其应用领域之广,系统形态之多,与多种技术结合之紧密,为通用计算机系统所不及。嵌入式应用开发人才除了需要具备计算机基本知识和工程技能外,还必须清晰地理解嵌入式应用开发独有特点,如嵌入式软硬件开发环境的多样性、软硬件一体化设计与开发、交叉开发和调试等。因此,在嵌入式人才培养过程中,应特别注重以下嵌入式应用开发中需要的基本能力的培养。
1)计算思维能力。
嵌入式系统技术通过将计算机技术与专业领域知识相结合,创造出利用计算机解决专业领域问题的新途径,极大地拓展了计算机的应用领域。嵌入式系统专业方向对计算思维能力的培养,应紧紧抓住“抽象、自动化”这两个本质特征,强化学生对特定专业领域问题的构造性、过程性求解方法,能够将一个复杂困难的问题转化为利用计算机技术求解它的思维方法,进而确定可以利用现有计算机技术对特定问题进行求解的一系列方法和步骤。
2)知识迁移能力。
嵌入式人才培养通常都是从某些具体的嵌入式软硬件平台、具体开发工具和环境开始的,即从“实例计算”开始。但在实际嵌入式应用开发中,可能经常涉及不同的硬件和软件平台、不同的开发工具和环境、不同的应用领域,这就需要培养学生的知识迁移能力,即引导学生摆脱“实例计算”的思维限制,从“实例计算”提升到“类计算”,能够从某个基于具体开发平台和开发环境的嵌入式应用开发中掌握嵌入式应用开发的基本思想、方法,能够由此及彼、举一反三,通过芯片数据手册、开发工具手册来熟悉新的嵌入式开发环境。
3)协同创新能力。
嵌入式技术在移动设备、数字家电、汽车电子、医疗电子、航天航空、工业控制等领域得到广泛应用,已经成为相关领域产品和技术创新的关键。嵌入式系统的开发与设计,往往牵涉到如何将嵌入式技术和相关领域的专业技术结合起来,以达到协同创新的目的。所以,嵌入式开发人才必须具有一定的行业领域知识,具有较强的协同创新能力。行业领域的专业知识对于嵌入式系统的人才来说,不可能在大学阶段完全掌握,但是必须关注学生的新知识、新技术学习能力;而协同创新能力的培养,应侧重交流能力、抽象能力、需求分析能力的培养,以便学生将来可以通过与专业领域专家进行协作,有效利用嵌入式技术得到相关应用问题的解决方案。
4)系统整合能力。
由于嵌入式系统是面向某种特殊应用,所采用的硬件平台、开发工具和应用环境面向不同的应用都会有所不同,再加上市场对大多数产品要求开发周期短、成本低。因此,系统整合能力,包括如何选择合适的软硬件平台以高效地开发产品,如何利用现有的软硬件资源,如何有效管理开发团队中的各类人员(应用专家、硬件工程师、软件工程师和其他相关工程人员等)等,已经成为嵌入式系统产品开发的一项重要能力。这类能力的培养,应侧重在拓宽学生的知识面,让学生尽可能多地了解各种嵌入式软硬件系统的特性及其优缺点,了解软硬件协同设计思想方法,不再局限于传统的软硬件设计方法、体系结构等。
5)系统工程能力。
作为工程应用型人才,主要任务是将所学的嵌入式系统知识和原理转变为产品的设计和实现。嵌入式系统工程人才除了具备良好的学习能力、沟通能力和组织协调能力外,还应具有较强的系统工程能力,包括系统分析能力、系统开发能力和系统应用能力。
系统分析能力主要强调能够对目标系统需求进行分析,运用嵌入式技术,结合专业领域知识,给出可能的嵌入式软硬件解决方案;强调能够对嵌入式系统结构进行剖析,对嵌入式系统的功能性指标和非功能性指标进行评测和评价。系统开发能力主要强调利用嵌入式技术有效构建适合目标应用的专用系统,要求学生具有较强的程序设计能力、硬件设计和调试能力以及软硬件工具平台应用能力,掌握解决嵌入式项目开发关键技术的能力。系统应用能力主要强调与专业领域专家进行交流与需求分析,通过对嵌入式系统进行配置或者定制,快速适应应用系统的要求。
2 嵌入式系统教学体系设计
2.1 嵌入式系统核心课程设置
课程体系的设计直接关系到专业培养目标能否实现,在建立课程体系时,不仅要考虑开设哪些课程、所开设课程的先后关系,还应该重点关注课程的知识体系,关注课程目标与专业培养目标的接轨,并保证所有的相关课程应该能够构成支撑专业培养目标实现的一个完整体系。通过将嵌入式系统人才培养目标特别是能力培养目标分解细化到不同课程,同时考虑到课程之间的前后衔接、课程与培养目标的一致性,并考虑本科教育教学学时的限制,可以确定嵌入式系统专业方向的5门核心课程:嵌入式系统概论、嵌入式微控制器及其应用、嵌入式硬件设计、嵌入式操作系统和嵌入式软件开发。这些课程涵盖了嵌入式系统及其应用开发中涉及的最基础的知识,同时和计算机类核心基础课程(如程序设计基础、数据结构、计算机组成原理、操作系统等)、电子类相关基础课程(如电路分析、模拟电路、数字逻辑设计等)以及应用领域的一些特色课程一起,构成了嵌入式专业方向所需的专业基础知识和专业基本能力培养的课程体系,如图1所示。endprint
作为一门嵌入式系统引导性课程,嵌入式系统概论从整体上对嵌入式系统涉及的各种技术进行介绍,帮助学生快速了解嵌入式系统的基本知识和基本原理;理解嵌入式系统开发的基本过程,初步掌握运用嵌入式系统技术解决实际问题的思想和方法。
嵌入式微控制器及其应用则从具体的嵌入式控制器人手,讲述嵌入式微控制器的基本概念、工作原理和应用设计方法,培养学生的嵌入式系统应用开发能力,并通过具体的嵌入式控制应用工程案例培养学生初步的系统工程能力和系统整合能力。
嵌入式操作系统课程在讲述嵌入式操作系统的基本概念、体系结构、系统特点、内核工作原理和实现思想的基础上,让学生体会嵌入式系统硬/软件协同工作原理,掌握根据目标嵌入式硬件平台对嵌入式操作系统进行定制的能力,掌握基于嵌入式操作系统进行嵌入式软件开发的基本思想、方法和技巧。
嵌入式硬件设计主要讲授嵌入式系统硬件基础知识、硬件开发工具、开发流程和调试方法,培养学生嵌入式系统硬件设计和开发能力。该课程从微控制器及其外围电路的功能设计要求出发,培养学生掌握基本的嵌入式硬件设计方法和硬件测试方法,然后逐步过渡到嵌入式硬件高性能、高可靠性、低功耗、低成本等非功能性设计方法上。
嵌入式软件开发主要讲授嵌入式软件开发的基本知识、方法和技术,使学生了解嵌入式软件的组成要素与结构,掌握嵌入式软件开发的思想和方法,掌握嵌入式软件开发的过程和技巧,熟练使用相关嵌入式软件开发工具,具备初步分析问题和解决问题的能力。
需要说明的是,由于嵌入式系统专业方向具有发展迅速、知识复杂、跨学科的特点,5门课程很难完全涵盖对嵌入式系统开发人才知识和能力方面的要求,需要强调嵌入式系统核心知识体系与相关学科(如计算机、电子、通信)的融合。嵌入式专业方向完整的课程体系应当与相关学科的基础课程进行有机衔接。
2.2 嵌入式系统核心课程组合方案
由于嵌入式系统面向应用的特点,所以嵌入式系统教学应当明确定位于培养工程应用型人才。嵌入式系统工程应用重点关注在一定的约束条件下,实现嵌入式系统以达到应用目标要求的方法、步骤等,并通过对嵌入式系统软硬件的适当选型与定制,结合专门的专业领域知识,方便、快速、有效地构建具体嵌入式产品和应用。嵌入式系统专业方向培养的学生具有明显的工科特征,适应承担嵌入式系统或产品的设计和实现任务。这意味着嵌入式系统的教学必须在适当的理论基础上,更多关注“设计”和“应用”形态的内容,即站在一个嵌入式系统应用开发工程师的角度来组织相关的教学内容,更多关注它们的工程应用,比如对于嵌入式处理器、嵌入式操作系统等,更多关注它们的对外接口和应用方法等外特性,对它们的内部结构、工作原理和内核实现等,以理解作为基本要求。当然也不能过度淡化理论教学,将嵌入式系统教学完全放在技能教育上,因为只有在适当的理论指导下,设计和应用才是理性的、高水平的。
根据嵌入式系统软硬结合的特点以及应用开发内容,嵌入式系统专业方向毕业生可能从事的典型工作可以大致划分为嵌入式硬件开发、嵌入式底层软件设计、嵌入式应用软件开发。不同类型的开发人员面对的问题空间和工作内容会有所不同,应当具备的知识和能力也会有所区别,相应地,在培养过程中,可以根据不同的培养定位,对嵌入式系统相关核心课程给出不同的裁剪和组合方案,如图2所示。
嵌入式硬件开发工作内容主要包括系统需求分析、硬件方案设计、PCB电路设计和测试等。嵌入式硬件设计工程师应当了解嵌入式硬件开发流程,具备从需求分析到具体方案的规划设计能力和调试能力,掌握嵌入式硬件高性能、高可靠性、低功耗、低成本等非功能性设计方法。对于该类型的学生,应当在嵌入式系统概论、嵌入式微控制器及其应用两门课程的基础上,强化嵌入式系统硬件设计课程,同时需要考虑在之前对模拟电路与电子技术、数字逻辑设计等电路课程加以适当强化,而对于嵌入式操作系统、嵌入式软件开发课程可以降低要求或者不再单独开设。
嵌入式应用软件开发主要内容包括嵌入式系统分析与设计、嵌入式软件编码和测试等。嵌入式应用软件开发人员应当了解嵌入式软件开发流程,具备从需求分析到总体设计、详细设计的能力,掌握主流的嵌入式软件开发平台和开发工具,具有较强的程序设计能力,特别是基于嵌入式操作系统的应用程序设计能力。对于该类型的学生,应当在嵌入式系统概论、嵌入式微控制器及其应用两门课程的基础上,强化嵌入式操作系统、嵌入式软件开发课程,同时需要考虑在之前强化对程序设计相关课程的教学,而对于嵌入式硬件设计课程可以降低要求或者不再单独开设。另外,由于嵌入式软件一般是面向应用领域,所以针对该类型的学生,还可以考虑选择开设音视频编解码技术、通信协议及其编程技术、网络与信息安全技术、DSP技术以及一些与应用领域知识相关的课程。
嵌入式底层软件设计的主要内容是开发一些与硬件关系最密切的底层软件,例如,针对某个嵌入式硬件平台开发BootLoader或板级支持包BSP(往下驱动硬件、往上支持嵌入式操作系统),针对不同的外围接口设备开发驱动程序,以及将嵌入式操作系统移植到不同的硬件平台上。该类嵌入式开发人员需要深刻理解嵌入式系统软硬件协同设计思想,他们不仅关心嵌入式系统的外部特性和外围接口,而且需要深入理解嵌入式处理器的体系结构、工作原理和指令系统,深入理解嵌入式操作系统的体系结构、工作原理和内核实现机制,深入理解外围接口设备的工作原理和控制方法。对于该类型的学生,在开设嵌入式系统概论、嵌入式微控制器及其应用、嵌入式操作系统之类课程的时候,其内容的处理除了关心嵌入式处理器、嵌入式操作系统的外部特性和应用方法外,还需要重点关注他们的内部结构、工作原理等。
2.3 嵌入式系统实践教学体系设计
由于嵌入式系统教学定位为培养工程应用型人才,所以实践教学环节在整个嵌入式人才培养中应当占有相当大的比重。endprint
首先,嵌入式系统大部分课程以工程设计为主,在讲述工程设计方法和设计流程时要涉及开发环境、开发工具的使用,可以借鉴“Learningby Doing”的教学理念,通过引入实际的工程案例和项目,讲训结合,突出课程实践意义,培养学生应用意识、动手能力和工程素养。
其次,需要加大实验实践学时,强化实验实践环节,同时注意有机整合实验内容,减少验证性实验,增加设计性、综合性、创新性实验项目,按照“一体化、多层次”的思想,设计比较合理的嵌入式专业方向的实践教学体系。基础层主要包括相关课程的课内实验,其主要目的在于课程知识的巩固,一般通过课内实验完成。综合设计层主要包括两个方面:一是相关课程综合性、设计性实验,其主要目的在于相关课程知识的提高和综合运用,通过课外拓展实验完成;二是里程碑式的综合实践课程,即根据嵌入式系统应用开发能力的晋级阶梯,在能力培养主线设置一些里程牌,并通过综合性实践课程培养阶段性的综合应用能力。应用创新层主要培养学生综合分析、设计、创新能力和工程素养,主要通过创新实验和课程设计、项目实训、学科竞赛、学生科研和毕业设计完成。
3 结语
电子科技大学中山学院构建了符合嵌入式应用开发人才晋级阶梯的课程体系和“一体化、多层次、分阶段”的实践教学体系。经过几年的教学实践,证明该教学体系具有较好的可行性和适应性。不少学生毕业后都顺利地走上了嵌入式技术开发工作岗位,成为企业的技术骨干。
当然,嵌入式技术发展日新月异,嵌入式应用需求也是越来越复杂多样,如何适应技术的发展和需求变化,适时调整嵌入式人才培养方案和课程体系,在课程体系和教学内容中体现最新的发展成果和应用需求,培养符合市场需求的嵌入式人才,仍然需要我们不断研究和探索。
参考文献:
[1]马义德,汤书森,张北斗,等。嵌入式系统课程群建设与创新人才培养[J].高等理科教育,2004(8):23-25.
[2]王苏峰,宁洪,陆洪毅,等.嵌入式系统课程体系及其创新实践的探索[J].计算机教育,2010(7):45-47.
[3]李文生,马争,傅瑜,等.面向应用型嵌入式人才培养的课程体系设计[J].计算机教育,2011(5):69-74.
[4]罗嗣海,周立功,王祖麟.新型校企合作培养零适应期应用型人才探讨:以江西理工大学嵌入式系统人才培养为例[J].江西理工大学学报,2009,30(2):57-60.
[5]俸皓.嵌入式系统教学体系改革的探讨[J].科技信息:科学教研,2007,12(30):29-31.
(编辑:郭田珍)endprint