更全的杂志信息网

基于项目驱动的嵌入式操作系统课程改革与实践

更新时间:2009-03-28

0 引 言

近年来,我国的嵌入式系统行业发展迅速,社会对嵌入式系统开发方面人才的需求相当大,因此几乎所有高校的计算机专业均开设嵌入式系统开发与应用课程[1]。嵌入式操作系统是嵌入式系统的软件平台,是嵌入式系统重要的组成部分,嵌入式操作系统的教学在嵌入式方向的教学中起着重要的作用。

在传统的嵌入式操作系统教学中,教学内容以讲授操作系统的基本原理(包括进程管理、进程间通信、文件管理、存储管理和内核裁剪等理论知识)为主,各个知识点比较零散,缺乏关联性。在教学方法上,多以教师讲授和灌输为主,如教师大多以知识点来组织教学,通过一些小例程对知识点进行验证,不能将各个知识点有机串联起来,这种教学方法缺乏实用的工程背景,导致学生“见山是山,见水是水”,只能被动接受,其吸收效率低下,更无法将所学知识转化为技能。以培养应用型人才为目标的地方院校,更要提高课程的应用性和实践性,教学内容上更偏重技术的应用,教学方法上更加强实践教学、提高学生的动手能力。在课时有限的情况下,应当想方设法将理论和实践有效结合起来,强化理论的应用,提高学生的实践创新能力和工程素养。

1 教学目标与教学内容

最重要的是需要选定合适的嵌入式操作系统。目前,嵌入式操作系统繁多,教学上常用的有 uCOS-II[2]、Linux[3]和 WinCE[4]。 鉴 于 Linux在行业应用的广泛性、开源免费、支持众多硬件平台、驱动完善等特点,本课程选取Linux作为操作系统平台。

通过本课程的学习,学生应了解嵌入式操作系统的基本概念、熟悉Linux的基本命令和基本操作、掌握Linux的C语言编程基础和Linux应用程序开发。具体说,学生应了解shell的概念;熟悉Linux命令的格式以及常见的系统管理、文件目录、打包压缩、网络等命令;掌握vi的操作方法;理解GCC编译器的4个阶段以及常见的选项的含义;理解Makefile的规则;能够编写简单的Makefile;理解系统调用的概念;掌握Linux下文件编程、进程控制、进程通信、多线程编程和网络编程中相关的概念和原理,并能利用相关的系统调用函数开发应用程序。

2 基于项目驱动的嵌入式操作系统的教学

与传统的教学方法相比, 基于项目驱动的教学能够调动学生学习的积极性, 使学生能够在项目开发过程中自主发现问题、分析问题,进而本能地使用课程知识解决问题[5]。基于项目驱动的教学需要解决以下3个问题。

平时表现以学生的出勤、在项目实施过程中提出问题和解决问题的情况以及与教师的讨论交流为标准。项目表现以各个小组的实际进度与计划进度的符合情况、项目功能完成情况和项目设计报告为标准,前两者占30%,后者占10%。在课程结束时,要求各个小组对项目设计成果进行演示和答辩。小组首先演示,然后教师根据小组所实现的功能,针对程序的流程、某代码段的含义、函数的参数的含义、某种功能在代码中如何实现等进行提问,指定小组成员回答,教师根据本小组的功能实现情况以及小组成员的回答情况给定本小组的项目功能完成情况的分数。小组内部分数如何划分,由小组内部讨论决定。设计报告的撰写能力也是很重要的一项技能,在项目结束前,向学生公布设计报告应当具有的内容以及撰写规范,据此判断学生的报告是否符合要求。比重设置为10%,目的是为引起学生对设计报告的重视,认真训练,提高撰写报告的能力。期末考试,有相当的题目与项目有很大的关系,只是题型不同和考查的知识点不同。题型可以是选择、填空、程序分析或编程题等。知识点有的偏重于理论基础,有的则偏重于编程应用。总而言之,项目其实是外壳,知识点才是内在。

2.1 项目的设计

该项目符合MACPE特性,具有很强的合理性。在网络发达的今天,即时聊天程序非常常见。本项目是即时聊天程序在局域网内实现的一个模型,具有实际意义。项目完整性要求完成该项目,需具备文件操作、进程间通信(如信号、网络编程、多线程编程、进程控制)等多方面的知识。此外,为了更好的编译程序,需要掌握GCC和Makefile相应知识;为了在Linux上开发该项目,需要掌握Linux的基本操作。这些都属于规定的教学内容,因此可以将教学内容有机融入到项目实施过程中,并形成一个整体。项目的递进性体现在可以按照顺序逐步实现。首先,实现客户端与服务器的连接与数据的收发功能(即功能1);其次,实现在服务器端实现账户信息的保存与比较功能(即功能2);最后,实现多个客户端无阻塞访问服务器等功能(即功能3)。其余功能不一一列举。每种功能都是在前面功能的基础上进行修改完善的。这些功能的实现方法与教学内容也是相互对应的(见表1)。以这种递进式的方法完成项目功能,符合多数人的习惯,易为学生所接受,能提高学生学习的积极性。项目的扩展性体现在:学生如果学有余力,就可以对项目进行扩展,实现文件的发送与接收、聊天记录的保存与读取、设计GUI界面等。

在课堂教学中,以教师讲授和简单示范为辅助,以学生实验和实施项目为主。教师讲清知识点的基本概念和原理,尤其是工作流程、函数的参数、返回值和功能等,学生在此基础上通过实验对知识点进行验证,将知识点应用到项目中。在项目具体实施过程中,以小组的形式进行项目的开发,根据学生的意愿,每3~4名学生组成一个小组。小组内部进行任务的分配,鼓励小组内部进行讨论,发挥同侪作用,“学霸”带领“学渣”共同进步。对教师而言,其角色为项目开发的监控者和帮助者:作为监控者,教师记录各小组项目的进展,进展过慢时予以督促;作为帮助者,在学生碰到问题时,提供合理的资源或者解决问题的方法,在学生发生方向偏差时给予必要的纠正。

教学项目的设计是本教学改革的重要基础。“设计良好的项目是教学成功的一半”,此话并不过分。项目应该具有MACPE的特征,其具体含义包括以下几点:①M(Moderate),项目的工作量应适量,使中等学生能够在规定的教学时间内完成。教学项目的选择不能太大, 以防止在教学大纲规定的学时内无法完成项目的开发;选择的项目也不能太小,否则就无法激起学生开发的热情,也不能实现教学目标[1];②A(Actual),项目应该具有实际意义,项目不是教师凭空设想出来的,应该是学生日常生活中喜闻乐见的实际产品;③C(Complete),项目应该紧扣教学大纲,能够完整涵盖大纲所规定的教学内容,满足课程知识点的构建[5];④P(Progressive),项目应该具有递进性,项目的功能可以逐步完善,从简单到复杂,以便教学和实践的开展;⑤E(Extensible),项目应该是可扩展的,除了规定的功能,学生可以发挥主观能动性,根据自己的能力扩展项目功能,实现思维和能力的创新。

 

表1 项目功能与教学内容的对应关系

  

功能1 基础网络编程中的TCP通信功能2 文件IO中的文件读写功能3 高级网络编程中的select多路IO

2.2 项目的实施

课程考核是整个教学过程的重要组成部分,也是直接检验教学成果和成效的方式。在项目驱动的嵌入式操作系统教学实践中,必须突出学生在项目中的动手实践能力和创新研究能力的重要性,因此,本课程的考核包含平时表现、项目表现和期末考试3个环节,成绩比重分别为20%、40%和40%。

在第一次课堂上, 教师就给学生演示该项目,以激起学生的学习兴趣, 并将该项目的功能分解到对应教学知识点上,强调通过掌握和应用相关的知识点就能完成相关功能的开发。接下来的4次课,教学内容为Linux基本命令和vi操作、Linux的C语言编程基础。在之后的课时中,根据项目从易到难,安排相应的知识点。教学的推进过程,实际上也是项目的完善过程。在每次课堂前,规定本次需要添加的项目功能,为了达到该功能,需要掌握哪些知识,因此,学生可以带着目标去学习,方向性更强。在教师向学生公布教学进度之后,要求学生根据能力制定合理的项目进度表,以便考核之用,对学生而言,既是压力也是动力。

本文所设计的项目为简易网络聊天程序,程序分为服务器和客户端。服务器开启后,等待客户端的注册或者登录,客户端可以向服务器注册账户,服务器保存账户的用户名和密码信息。客户端登录服务器时,服务器需检测用户和密码是否正确;登录后,客户端可以查看当前在线用户列表,并与选择某个在线用户进行双向的聊天。为了实时检测客户端用户的在线与否,服务器还具有心跳机制。

2.3 项目的课程考核

本课程上课地点为实验室,有些知识点在教师讲解之后可以立即操作或者编写代码进行验证,有助于更好掌握其原理。本课程要求学生自带笔记本电脑至课堂,学生在自己电脑上安装Linux虚拟机,可在课后实践课程项目,克服课堂时间不足等问题。

授课教师必须有较好的专业英语基础及口语表达能力,教师在取得授课资格前应该通过同行及学生参与的试讲,在英语水平,授课方式和内容上合乎要求后方能给留学生授课。授课前必须细致备课,对于预估到的重点、难点应更细致地阐述。授课结束前,及时发现学生学习上的难点,进一步将难点阐释清楚;根据学生们的反馈调整、改进授课内容及讲课方式。除此之外,还需及时更新课程内容,与国内外最新进展同步。此外,也要组织参加校内外的留学生教学讨论,交流经验,共同进步,促进国内整体高等医学的留学生教育水平的提高。

股骨颈的骨折是临床上常见的一种骨折类型,相关的研究表明,该种类型的骨折已经占到全身骨折病例的4%,其髋部骨折的发生率占55%。股骨颈骨折的发生率会随患者年龄不断的升高而增加,所以,随着人口老龄化的进程,使得股骨颈骨折的发生率逐年升高。本文主要分析全髋关节置换术和半髋关节置换术对老年股骨颈骨折的治疗效果及对患者Barthe评分的影响,现作如下报道。

从生产商来看,海外酒业市场中,啤酒和烈酒的生产及供给相当集中。特别是啤酒业,自2016年百威英博集团(Anheuser-Busch InBev)收购南非米勒酿酒公司(SABMiller)后,两家公司的结合缔造了全球最大的啤酒生产帝国,出产全球近三分之一的啤酒[1]。烈酒市场的行业集中度虽然没有啤酒那么高,但来自英国的帝亚吉欧集团(Diageo)也占据了全球20%以上的市场份额。

3 结 语

经过两轮的教学实践,基于项目驱动教学法的有效性得到了验证。学生普遍反应项目的设计比较合理,上课方式比较新颖,对课程的兴趣得到提高,而且能够带着目标去学习理论知识,学习主动性和积极性更高。各个小组在实现项目的过程中,通过合理分工、讨论交流、解决问题,不仅巩固了旧知识、掌握了新知识、增强了综合开发的能力,而且团队意识和协作能力得到不断提高。这些成果对于应用型人才的培养不仅提供了重要的借鉴价值,而且具有重要的现实意义。当然在项目实施过程中,也有一些地方需要改进和完善,如小组考核的方式,存在个别学生“浑水摸鱼”的情况。此外,还可以设置不同难度的项目供不同能力的学生选择,并加强过程考核等,这需要在今后的教学中加以改进。

综合物探和钻孔信息(图8),通过高精度磁测和激电中梯扫面测量,获得了较为详细的地球物理信息。分析测区内的异常组合和分布特征,表现为一个突出特征:异常叠加(图3、4),既无论磁异常或视极化率异常,都明显叠加有一定规模的局部异常或具高频特征的脉动异常,这种叠加异常现象实际上反映了测区浅、中、深三个层次的矿化活动,即高频脉动异常一般反映了地表不均匀矿化活动的分布特征,局部异常反映了地表或地下隐伏的具有一定深度的矿化体,区域性高背景特征的视极化率异常则反映了深部矿化活动的存在[13],这种浅、中、深的矿化特征在各钻孔不同深度揭露情况(表3)得到了验证。

参考文献:

[1] 孙成富. 基于项目驱动的“嵌入式系统开发与应用”课程教学[J] .佳木斯教育学院学报, 2013(8): 165-166.

[2] 滕艳平, 杜鹃, 金梅, 等. 以嵌入式应用为导向的操作系统实验教学改革[J]. 计算机教育, 2015(17): 98-102.

[3] 郑广海, 曲英伟. “嵌入式 Linux 操作系统及实践”课程改革[J] .计算机教育, 2012(4): 37-40.

[4] 王晓春, 孙宏伟. 高职院校“嵌入式操作系统”课程的教学改革研究[J]. 计算机教育, 2007(9): 42-45.

[5] 张其亮, 王爱春, 陈永生. 能力递进式项目教学法在嵌入式系统课程中的实践[J]. 实验室研究与探索, 2014 (8): 185-189.

 
林峰,张泽旺,刘虹
《计算机教育》 2018年第05期
《计算机教育》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号