何宗键
2005年5月21日

尊敬的各位来宾,领导,老师:
大家好!
首先做一下自我介绍,我叫何宗键,是同济大学软件学院《Windows CE嵌入式系统》课程的任课教师。很高兴能够在软件学院讲授这门课,更高兴今天能有这个机会与大家分享我们的一些经验得失。希望今后能与大家有更多的交流。
今天我想向大家介绍如下几个方面的内容:首先把这门课的大致情况向大家作一个简单介绍,然后我将给大家讲述一下我的教学方法,接下来会与大家探讨是这门课的教学内容,最后是我在讲授这门课中的一些正反两方面的经验和教训。
上个世纪微处理器的出现给计算机产业带来了革命性的发展,以微处理器为核心的PC以其小型,价廉等特点迅速的得到普及,计算机已经逐渐融入了我们的生活。随着近年来计算机应用的普及、互联网技术的实用以及信息技术的发展,使得终端设备越来越向智能化、数字化、轻巧便利、易于控制等方向发展。而嵌入式技术以其灵活、高效和高性价比等优点在各种终端设备中得到广泛应用。
微软公司于1996年推出了自己的嵌入式操作系统Windows CE 1.0版本。经过近十年的发展,凭借其广泛的适应性,丰富的功能,强大的多媒体能力,友好的开发环境,今天在掌上电脑PDA,智能手机,汽车电子,信息终端等领域我们都可以看到Windows CE的身影。
同时,社会上对嵌入式软件人才的需求越来越大。倪光南院士2004年表示:我国嵌入式应用的规模排在世界第三。2002年,我国嵌入式软件市场销售额为118.56亿元,今天已经占到了软件产业的40%,传统的IT设备应该逐渐转变为嵌入设备,这是一个大趋势。在这个大趋势中,软件的地位越来越重要。因此,嵌入式软件在提升IT制造业的竞争力、优化产业结构的过程中起到了非常重要的作用,发展嵌入式软件势在必行。

我们这门课的教学目的主要有这么几条,首先,使学生理解嵌入式系统和嵌入式软件的特点。然后,理解Windows CE的特点,架构。此外,学生还应该掌握基于Windows CE裁减内核,开发应用程序和驱动程序。
Windows CE嵌入式系统课程的大致情况是这样的。总计48学时,3学分。在04年9月我们第一次在02级大三本科生中开设专业选修课,然后05年3月在04级工程硕士研究生中开设此课。一共有106名本科生,20余名研究生选修此课程,在选修课中是人数最多的。最重要的一点,学生在学习的过程中表现出极大的兴趣,课程结束后,一些同学又强烈的愿望能够继续了解Windows CE,继续了解嵌入式系统,因此我们成立了Windows CE俱乐部。现在俱乐部已经有100多位同学。俱乐部会组织基于Windows CE的技术交流,技术讲座等一系列活动。

我们在教学过程中采用由浅入深的教学步骤,希望能使学生快速入门。学习Windows CE需要的预备知识大致有如下一些:硬件知识,操作系统原理,汇编语言,C/C++高级语言,Windows程序设计等等。根据我们学生的特点,我们的学生在此之前已经学熟悉C / C++与Windows下的应用程序开发,因此我们选择了自顶向下的教学方式:应用开发 -> OS开发 -> Windows CE体系结构 -> BSP和驱动程序开发。
同时,我们在教学中最强调的一点是动手实践能力的培养,这与同济大学软件学院一贯的教学指导思想是一致的。
软件学院投资数十万组建了Windows CE嵌入式实验室,其中有30套华恒ARM9教学开发板,同时支持嵌入式Linux和Windows CE。同时,实验室还配备多台基于Windows CE的PDA和智能手机,可以供学生动手实践。
我们对课程的考核标准也作了大胆的改革,采用一个有一定代码量的项目来作为考核标准,不再进行纸面的考试。项目分为:报题,设计与计划,开发跟踪,项目交付四个阶段。我们鼓励多人合作开发一个项目,评分的标准也完全按照项目的优劣评定。
同时,我们还设立了“课程答疑与学习交流”BBS,以方便师生之间,同学之间交流。
我们在去年年底还组织了全校范围的第一届“华恒杯”Windows Embedded软件开发大赛。全校有三十多组开发队伍参加了比赛。也激发了同学对Windows CE和嵌入式软件开发的兴趣。

下面我将向大家介绍一下这门课的教学内容。课时安排是这样的:一共48学时,每次3节课,共16次课。这16次课分为13次课堂授课,3次实验。同时,我们是基于Windows CE .NET 4.2 进行教学,下个学期打算升级到最新的Windows CE 5.0。
13次课堂授课是这么安排的:
首先是Windows CE介绍,1次课。主要讲述嵌入式系统和Windows CE的概况,以及Windows CE的特点。
然后是应用程序开发,2次课。主要讲述如何在Windows CE下开发应用程序。
接下来是Windows CE 平台开发。主要讲述使用Platform Builder构建基于Windows CE的平台。
然后是Windows CE 系统结构,这一部分主要从操作系统的角度,讲述Windows CE的特点。
接下来是两次课的驱动程序开发和两次课的BSP开发,这两部分是Windows CE中最为复杂的部分。因此我们把它放在最后来讲。以方便同学消化吸收。
总结和案例我们选用同济大学软件学院与同济大学汽车学院共同承担的上海市科委课题:车载实时信息终端和智能化仪表系统的研究与开发。这是一个基于Windows CE的完整项目,通过这个项目的介绍,可以使同学对一个基于Windows CE的系统有一个完整的了解。
三次实验课的内容是:应用程序开发(含Pocket PC和Smartphone),Platform Builder的使用及内核创建,下载,调试。以及驱动开发及组件的创建发布。

总结一下,一年来的教学成功之处主要有下面两点,引起了同学对嵌入式,Windows CE的兴趣。学生的动手实践能力得到提高。
当然,作为一门新开的课程,也还存在着很多缺点。主要有:找不到合适的课本,同学的水平参差不齐,导致教学众口难调。项目中开发应用程序太多,内核和驱动比较少,应当合理控制。
同时,我们也在积极地对教学进行探索。我们与微软亚洲研究院合作首次在中国高校试点Learning by doing的教学模式。我们希望这门课能能够:完全以项目为导向,严格按照软件工程流程运作项目,学生通过自学和项目实践获得知识。
最后,感谢大家的参与,同时,我也非常高兴能够跟大家交流和探讨。