公务员期刊网 论文中心 正文

计算机工程嵌入式教育思路

计算机工程嵌入式教育思路

1计算机工程专业方向培养目标

随着计算机领域新技术的不断涌现,“计算机科学与技术”原有的专业设置框架被突破,逐渐形成计算机科学、计算机工程、软件工程、信息技术、信息系统等多个专业方向的新格局[3]。计算机工程是计算机科学与技术领域最早出现的专业方向,它是现代计算机系统、计算机控制设备的软/硬件设计、制造、实施和维护的科学与技术。国际技术教育协会定义工程设计为:系统和创造性地把科学和数学原理运用于实践。鉴于此,在《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》中指出计算机工程专业方向的培养目标是:系统地掌握计算机科学理论、计算机软/硬件系统及应用知识,基本具备领域分析问题、解决问题的能力,具备一定的工程实践能力。因此,实践教学显得尤为重要。

2计算机工程专业方向嵌入式系统课程特点

嵌入式系统涉及到IT领域方方面面的新技术,它融合了计算机软、硬件技术、通讯技术和半导体微电子技术,针对实际应用系统需求,将相应的计算机直接嵌入到应用系统中。嵌入式系统设计需要设计者具有较强的综合理论知识和动手能力,是对设计者一个综合能力、特别是创新能力的考查。因此,嵌入式系统课程应更注重培养学生工程实践的能力、团队合作的能力[2]。目前,在计算机专业之外,国内许多高校还在电子工程、自动化、软件等专业开设了“嵌入式系统”相关课程。由于各专业培养目标、教学体系侧重点不同,课程内容也不尽相同。电子工程专业主要侧重于硬件基础平台的设计,自动化专业则侧重于智能仪器、仪表的设计,软件专业侧重于嵌入式应用软件开发。计算机工程专业方向则应从“系统”的角度出发,更侧重于软/硬件的协同工作,将计算机系统“自下而上”的专业课程有机地整合起来,形成一条清晰的逻辑线,让学生认识到计算机组成原理、微机接口技术、操作系统、数据库、程序设计、计算机网络、计算机控制等课程不再是独立的课程,而是一个有机的“整体”。在嵌入式系统工程设计中,会用到操作系统课程中所讲述的进程、线程、调度、文件系统的概念等;在通信中会用到微机接口课程中所讲述的串行接口的概念;在数据采集中会用到计算机控制课程中讲述的A/D转换、数字滤波算法等;在一个大型应用系统中还会用到计算机组网技术、套接字、数据库的概念等等。因此,计算机工程专业方向嵌入式系统课程内容应以实践为主,结合前修理论课程的内容,最终完成一个实际应用系统的开发[3]。

3嵌入式系统课程内容体系的构建及特色

我学院在2004年开设“嵌入式系统”专业选修课的同时,将计算机工程专业方向细分成嵌入式系统和网络技术两个培养方向,并制定了嵌入式系统专业方向培养计划,设置了4门实践性很强的专业方向课:计算机控制原理与技术(64学时)、嵌入式系统原理与技术(64学时)、嵌入式系统工程设计方法(32学时)和嵌入式系统课程设计(60学时)。IT领域的新技术发展之快、之多令人应接不暇,虽然大学生在校期间需要学习的都是一些基础知识,但他们毕业走向社会后,必然要面对这些新技术,如果我们的教学内容过于陈旧,就会加长学生毕业后的适应周期;如果我们能够提供给学生更多的接触这些新知识、新技术的机会,就能够缩短学生毕业后角色转换的时间,尽快地投入到工作中。因此,在教学内容设置上应力求将最新的技术、最新的设计方法传授给学生。为此,我们积极与国际知名企业建立合作关系,先后建立了“北京工业大学—Intel嵌入式系统联合实验室”、“微软嵌入式系统认证培训中心”和“北京工业大学—AlteraEDA/SOPC联合实验室”,为学生提供了一个接触、学习新技术的环境,同时也能使我们的教学内容与这些企业的新技术基本保持同步[4-5]。“嵌入式系统原理与技术”涉及目前嵌入式系统最为流行的两项新技术—英特尔公司的XScale技术(ARM架构)和微软公司的嵌入式操作系统WindowsCE,该课程以XScale应用处理机为硬件平台,讲述WindowsCE操作系统定制、优化方法以及驱动程序、应用程序的开发手段和方法。“嵌入式系统工程设计方法”则涉及了另一项新技术“IP(知识产权)复用技术”,该课程以Altera公司的Nios软核嵌入式处理器为核心,讲述了SOPC(片上可编程系统)设计方法和流程。上述两门课程均是以工程设计为主的课程,在讲述工程设计方法和设计流程时要涉及到开发环境、开发工具的使用,如果按照以往先在课堂讲授,再到实验室做实验的教学方式,不仅会使学生感觉到枯燥无味、不易掌握,而且在实验之前还要再花费时间复习。因此,我们借鉴美国卡内基•梅隆大学率先提出的“Learningbydoing”的教学理念,这种教学理念旨在强化工程学科的学生全面的实践能力和工程素养。从2005年开始,在实验室授课,采用教师边讲学生边做的教学方式,使学生“从做中学”,取得到了较好的教学效果[6]。

4实践教学安排

为了加强学生工程实践能力的培养,在实践教学体系中,采用了课内实验、课程设计和综合性课程设计3个阶段的培养模式,使学生全面掌握嵌入式系统的工程设计方法和设计流程。

4.1课内实验

以一个实际应用系统开发流程为例,设计了如下实验内容:(1)WindowsCE操作系统的定制:包括在硬件平台和模拟器上定制WindowsCE操作系统、添加组件以及使用远程调试工具进行调试。(2)修改WindowsCE操作系统映像配置文件:包括通过修改系统映像配置文件,在操作系统映像中添加各类文件和修改系统设置。(3)硬件定制实验:包括添加CF存储卡、802.11无线网卡和蜂窝注册表等硬件相关组件。(4)WindowsCE驱动程序的开发:包括流接口驱动程序的开发以及在PlatformBuilder环境下开发简单应用程序用以调用驱动程序函数。(5)WindowsCE应用程序的开发:包括导出SDK开发包,在EVC开发环境下开发、调试应用程序,制作自定义组件、系统优化和Shell实验。

4.2课程设计

课程设计的任务是完成一个应用程序的开发,课程设计题目每年不断更新,学生可以根据自身掌握的程度选择不同难度的题目,分值依据题目难易程度而定。学生也可以自拟题目,为保证题目的难度和规模能达到教学要求须经任课教师认可。题目有:在WindowsCE环境下的闹钟提醒程序、注册表编辑器、串口调试程序、文本编辑器、计算器、画图、贪吃蛇等[4,7]。

4.3综合性课程设计

“嵌入式系统课程设计”是综合性课程设计,要求学生结合专业方向的理论课程,充分发挥自身的能动性,3~4名学生组成一个项目组,自选题目,自选平台,完全按照工程项目管理规范严格检查各阶段完成情况。使学生掌握嵌入式系统实际工程设计的方法和流程,巩固理论课程内容,规范工程文档的建立,培养学生的创新能力和团队精神。通过答辩、演示给出成绩,将题目新颖、完成情况较好的项目组推荐参加国内外相关竞赛。今年正在进行中的项目有:家庭视频监控系统、食品安全追溯系统、家电语音控制系统等[8]。

4.4学生科技竞赛

2007年1月,教育部、财政部“关于实施高等学校本科教学质量与教学改革工程的意见”中,要求继续开展大学生竞赛活动,重点资助在全国具有较大影响和广泛参与面的大学生竞赛活动,激发大学生的兴趣和潜能,培养大学生的团队协作意识和创新精神[4,9]。我校十分重视嵌入式系统学生科技竞赛活动,在2006年投资近60万元,建立了“嵌入式系统科技竞赛训练基地”。通过搭建一个学生参加科技竞赛、训练的基础平台,形成一个传、帮、带的梯队、达到“以点带面”的良性循环效果,增加了学生学习理论课程的兴趣,加强学生创新能力的培养[4]。计算机学院在国、内外嵌入式系统相关竞赛中取得了优异的成绩,在教育部、信息产业部举办的“全国大学生电子设计竞赛———嵌入式系统专题邀请赛(英特尔杯)”中,2004年获得了三等奖,2008年获得了二等奖。“2005年微软嵌入式系统全球大学生挑战赛”入围全球前30名,并参加了在美国西雅图微软总部举行的总决赛,获得“优胜奖”。在IEEE举办的“第六届计算机协会国际设计大赛(CSIDC)”,进入了在美国首都华盛顿举行的全球前10名总决赛,并获得“优胜奖”。在Altera公司举办的“Nios软核嵌入式处理器设计大赛”中,先后获得过优胜奖和三等奖[10]。

5结束语

嵌入式系统涉及的领域越来越广,发展速度越来越快,为了加强计算机工程专业方向学生工程实践能力的培养,就要求我们通过不断地探索、实践,完善嵌入式系统实践教学体系。