您好,欢迎来到星星旅游。
搜索
您的当前位置:首页基于CDIO模式的操作系统课程群教学改革与实践

基于CDIO模式的操作系统课程群教学改革与实践

来源:星星旅游
总第300期

DOI编码:10.3969/j.issn.1007-0079.2014.05.046

课程教材改革

基于CDIO模式的操作系统课程群教学改革与实践

邱剑锋 谢 娟 汪继文

摘要:CDIO模式是近年来国际工程教育改革的最新研究成果。针对操作系统课程群的教学现状,基于CDIO的工程教育模式,探讨了课程群的教学改革与实践,提出了整合操作系统课程群的知识结构和改革课程考核方式的具体措施。实践表明,上述的教学改革取得了较好的效果,有效地保障了该课程群培养目标的实现。

关键词:CDIO;操作系统;课程群;教学改革

作者简介:邱剑锋(1979-),男,安徽桐城人,安徽大学计算机科学与技术学院,讲师。(安徽 合肥 230039)

基金项目:本文系安徽省省级教学研究项目(项目编号:2012jyxm383)、安徽大学本科教学工程教研项目(项目编号:JYXM201305)的研究成果。

中图分类号:G2.0     文献标识码:A     文章编号:1007-0079(2014)05-0097-02“操作系统”是计算机学科的重要分支之一,同时也是计算机科学与技术专业、软件工程专业的核心课程,在计算机、软件等相关专业人才培养中占有重要的地位。近年来,随着计算机技术的飞速发展,操作系统领域的新理论、新技术层出不穷,但未能及时地反映在教科书中。同时,传统的以理论教学为主的教学方式,如“教师讲,学生听”,给学生真正理解操作系统中一些抽象的知识点造成一些困难,使学生很难将学习到的知识应用到实际工作中。这种过于重视理论教学,忽视学生的工程实践和综合素质培养的教学方式已经不能适应我国信息化发展的迫切需求,影响到对创新型人才的培养。因此,“操作系统”课程设置的合理与否,将直接影响到学生对操作系统内涵的理解以及其自身实践能力、创新能力的提高。

本文通过对“操作系统”课程建设中存在的一些问题的分析,提出在操作系统课程群建设中引入CDIO(Conceive、Design、Implement、Operate)教育模式,以期利用该模式对“操作系统”课程的设置、能力培养及考核方式进行探讨。

一、操作系统课程群的教学现状及存在的问题

目前,安徽大学(以下简称“我校”)操作系统课程群包括“操作系统”、“操作系统课程设计”2门课程,其中“操作系统”侧重对操系统基本概念和基本原理的介绍,包括进程管理、处理机管理、存储器管理、文件管理和操作系统接口等方面。“操作系统”课程设计作为一个实践性教学环节,是在操作系统理论教学的基础上,侧重与对学生进行工程设计和系统分析等实践能力的培养,为后续工程实践打下良好的基础。从整体上看,整个课程群可以分为两个环节:一个是由“操作系统”构成的“理论”环节,一个是由“操作系统课程设计”构成的“实践”环节。而在“操作系统”课程中又设置“上机实验”部分,因此在目前的操作系统课程群的设置中充分认识到了实践的重要性。但问题在于,尽管有上机实验和课程设计,但是学生对操作系统的理解仅仅还停留在对概念的理解以及对一些算法的仿真上,对利用基本概念去解决一些实际问题有一定的困难,与计算机产业界的需求还存在一定的距离。教学效果,尤其是学生实践能力,有待进一步加强。究其原因,目前计算机专业“操作系统”课程教学现状主要存在以下几个

方面的问题:

第一,操作系统课程群中课程内容上的重复性。操作系统课程群中的每门课程,无论是从教材的编写,内容的安排上都力求完整,各成体系。“操作系统课程设计”中,在介绍实践环节之前,必然需要对操作系统的基本原理做一阐述,而这些内容已经在“操作系统”课程已经讲述过。而在“操作系统”中为了加深对基本概念的理解,必须要引入一些与应用相关的内容。因此,在操作系统课程群中存在内容重复、交叉的现象,也影响课时的有效利用。

第二,重理论,轻实践。“操作系统”课程知识点繁杂,原理抽象,教师需要花大量的时间去帮助学生理解、构建其知识框架,学生也需要去熟悉、掌握、理解其内涵,久而久之降低了学生的学习兴趣。能力的提高固然需要扎实的理论基础,但更需要在实践中去应用理论,如果忽视了知识向能力转化的过程,将会影响到学生的自主性、创造性、学习能力及适应能力的提高。

第三,目前的操作系统课程群中无论是“操作系统”课程中的上机实验环节,还是“操作系统课程设计”,基本上都是以操作系统原理和实现方法的模拟或验证,重点考查了学生对知识点的理解,忽略了对学生创新能力、工程实践能力和团队协作能力的培养。

二、CDIO的教育理念

CDIO模式是近年来国际工程教育改革的最新研究成果。CDIO代表构思(Conceive)、设计(Design)、实施(Implement)与运行(Operate),它是“在实践中学习”(Learn by doing)和“基于项目的教育和学习”(Project based education and learning)的集中表现,以工程项目从产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程,培养他们的工程实践能力、综合的创新能力、

[1]

这种能力不仅包括其学术与社会大环境的协调发展的能力。

能力、团队能力,更重要的是他们的终身学习能力。为了适应新形势下建设创新型国家的目标,加强对创新型人才的培养,在CDIO工程学科培养目标能力结构框架下,本文借助CDIO的教育模式,结合操作系统课程群特点及教学现状,对操作系统群的

97

课程建设和教学进行改革和实践。

在整个计算机系统中,操作系统作为资源的管理者,不仅需要管理计算机内的各种软硬件资源,同时也需要为各种软件的运行提供高效的环境。因此,在“操作系统”的教学过程中,以课程群为单位,整体谋划,注重在整个学习过程中结合具体案例引导学生深入理解操作系统的基本理论。在实践阶段,以“项目”为中心,培养学生的工程实践能力,通过项目驱动的教学引导学生发现问题、分析问题和解决问题,最终实现学生的自我学习和创新能力。这些能力的培养与CDIO的教育理念是一致的,因此,结合操作系统课程群的教学现状,以CDIO的教育理念去改革操作系统课程群,提高“操作系统”课程教学质量,提高学生的综合素质是非常具有现实指导意义的。

三、面向CDIO的操作系统课程群教学改革1.引入操作系统案例,进一步加强理论教学

“操作系统”的教学内容是理论教学的基础。以往“操作系统”教学由于涉及的知识点多,难点多,以教师讲、学生听为主。受学时的影响,所采用的教材也是对操作系统基本原理的概述,缺少对具体实际的操作系统案例分析,尽管采用了多媒体教学方式,但是真正对提高学生的应用能力收效不大,学生对操

作系统的理解还是比较模糊,更谈不上去灵活运用。

[2]

借鉴CDIO的理念,在“操作系统”的教学中引入操作系统案例分析,帮助学生理解操作系统的概念,以及算法在实际的操作系统当中是如何实现的,使操作系统的理论教学不再“腾云驾雾”,而是落到实处,接了“地气”。同时,安排一部分学时,引导学生自主学习,通过阅读,分析源代码,进而深入理解操作系统的基本概念,提高操作系统理论教学的效果。笔者以操作系统中的“进程调度”为例,说明其教学过程,如图1所示:

结合Linux操作由学生自己对Linux进程调度的系统,介绍进程内核的阅读分析,完成基本概念

调度的算法在其相应的报告,为后续实中是如何实现的

践课程打下基础

图1 “进程调度”的教学过程示意图

笔者以操作系统中“进程”概念为例,“操作系统”课程中关于进程的基本状态与具体到Linux操作系统中进程的状态,在概念和具体实现上存在一定的差别。[3]例如:操作系统基本概念中进程的基本状态中有个“就绪”状态,而在Linux系统中,“就绪”状态的概念被合并到一个称之为“可运行状态(TASK_RUNNING)”,处于该状态的进程,要么正在运行、要么正准备运行,其中“正在运行”对应“操作系统”中的进程的“运行态”,而“正准备运行”代表了“操作系统”课程中进程的“就绪态”。在教学中,充分注意理论和实践中概念上的差异,有助于学生实践能力的培养。

2.优化实践课程,培养学生的创新和实践能力

相对于理论教学,“操作系统课程设计”作为一门实践课程,是培养学生的实践能力,提高分析问题和解决问题的一个重要的教学环节。在以往的教学中,在“重理论,轻实践”的知识本位的影响下,淡化了对课程设计的要求,影响了操作系统实

践课程的教学效果。

[3]

对实践能力的培养是CDIO教育模式中特别强调的能力之一,因此,在“操作系统课程设计”中,以CDIO98

2014年第5期

的理念去改革设计实践课程,以项目驱动的方式,以期提高“操作系统课程设计”这一操作系统课程群中对实践能力提高最为重要的一个教学步骤。

“操作系统”作为一门专业核心课程,其实践教学环节对培养学生的动手能力,分析问题、解决问题的能力至关重要,是整个教学环节重要的组成部分。在CDIO教育模式的指导下,理论和实践相结合,构建“基础—项目—系统”的三阶段实践教学体系,其整个教学过程可分为几个层次,如图2所示:

系统实验系统实验:实践教学的提高阶段,

培养学生的创新性研究能力

项目实验项目实验:通过源码分析,构建小项目综合实验

基础实验验证型实验:对操作系统的基本概念、算法进行验证

图2 实践教学体系层次结构

操作系统实践教学的第一个层次属于验证型实验,主要是对操作系统中的一些经典算法进行仿真、模拟。这一阶段的实验内容单一,学生在学习理论知识的同时可以完成上述第一阶段的实验,因此可以放在“操作系统”理论教学中的上机实验的环节来完成。“项目实验”和“系统实验”这两个阶段的目的在于培养学生分析问题、解决问题的能力以及自主思考并进行创新性探索的能力,这两个阶段可以安排在“操作系统课程设计”课程中。“项目实验”通过Linux源码的分析,设计一些小的综合性实验,是学生从理论到实践的过度阶段。“系统实验”在前述实验环节的基础上,进一步培养学生自主学习、自主创新的能力。

3.建立CDIO模式下的操作系统课程考核评价体系

长期以来,操作系统课程的考核评价体系重理论,轻实践,将学习的过程变为追求分数和应付考试的过程。学生能力的获得不仅需要有扎实的理论基础,跟需要在实践中培养出来的自我学习能力。因此需要对现行的考核方式进行调整,变单纯对结果的考核为对学生整个学习过程中各个阶段的考核,这也是

提高实践教学质量的一种有效措施。

[4]

表1 考核内容及所占比例

考核项目考核内容分数比例

分比例总比例项目研发过程评价出勤率

50%参与度

50%10%代码运行结果评价

运行结果的正确性50%代码书写的规范性50%30%

文献综述及调研15%课程设计报告技术原理概述15%关键技术总结30%40%

所承担的任务40%答辩过程评价表达和总结能力

50%团队合作

50%

20%

根据“操作系统课程设计”的课程要求,学生在完成第三个阶段的“系统实验”的实践教学之后,需要提交的内容包括:以组为单位完成的项目的源程序,可执行程序和课程设计报告。在课程结束前安排各个项目小组针对课程的任务进行课程交流和分组答辩,考核评价的内容和比例见表1所示。指导教师根据每个小组的完成情况、实验结果的正确性、现场答辩情况

(下转第110页)

2014年第5期

大,不可能在课堂上讲解,因此在操作系统实验课程设计中应用类的操作比较多,如在Windows环境或者Linux下通过调用Windows API函数或者Linux相应接口函数进行进程创建、处理机调度及内存获取和释放等操作,但这些对于物联网系统是不适用的。物联网系统中的操作系统为嵌入式操作系统,该操作系统的特点是内核小、对时间要求较高,即要求在较短的时间内,对提交的任务作出响应,称之为实时系统(μS级)。因此物联网专业需要学习嵌入式操作系统中实时操作系统的相关知识。嵌入式操作系统主要介绍实时内核原理、多个常用OS(UCOS、UCLinux、WIN CE、VXWorks、Nucleus)的比较、实时时效的分析与提高、实时OS的设计方案。了解实时操作系统的概念、内核结构;由于代码量小,可以通过对开放源代码的实时系统μC/OS-Ⅱ和嵌入式Linux源代码的分析,掌握多任务实时系统的基本概念、竞争与调度算法、任务间同步与通信、存储与定时的管理。在该课的设计中,笔者将理论与实际相结合,一边讲解计算机操作系统的基本原理,一边结合μC/OS-Ⅱ的源代码,逐行将源代码完全剖解。学生根据看源代码,很容易就理解了如创建进程的方法:申请空白PCB;为新进程分配内存资源;初始化PCB;将新进程插入就绪队列等源代码。如果操作系统在运行中出现Bug了,学生可以随时修改源代码来修补问题,逐渐完善操作系统。

三、程序设计语言课程研究

C语言和Java语言是计算机及相关专业的一门专业基础课,主要任务是介绍C语言或者Java语言中的数据类型、数据运算、语句结构、函数、数组、指针、结构体、链表、位运算、文件,使学生掌握结构化程序设计的方法,目的是使学生掌握一门高级程序设计语言,掌握面向过程程序设计的基本概念与方法,培养学生通过C语言或Java语言程序设计解决实际问题的能力。在计算机专业学习这些语言时不需要考虑该语言使用在什么平台环境下,以及相关硬件的使用情况,而在物联网系统中这些就需要格外关注。在物联网系统中设计到硬件驱动程序的编写,以及硬件传送数据时考虑硬件寄存器配置、接收及发送数据的接口,因此语言设计时要配合相应硬件芯片资料知识,才能设计出正确的程序。针对不同的硬件环境,笔者会增加“ARM系

统结构与编程”、“嵌入式软件设计”、“单片机原理与接口”、“Andriod手机应用程序设计”等语言课程。“ARM系统结构与编程”是物联网中处理器的核心芯片,现在市场上ARM架构的芯片占据嵌入式芯片市场80%以上。因此掌握了ARM系统结构的编程语言,才能进行物联网底层硬件相关的设计及操作系统的移植。通过学习“ARM系统结构与编程”课程,让学生了解ARM处理器的体系结构、指令系统及开发工具的使用,掌握开发基于ARM的应用系统的各方面的知识。其中包括ARM体系介绍、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM集成开发环境的介绍。“嵌入式软件设计”在精通掌握C语言的基础上,针对嵌入式环境增加了WINCE编程方法及嵌入式数据库的使用方法。“Andriod手机应用程序设计”在精通JAVA基础的面向对象、输入输出流、集合框架的基础上,增加熟练掌握Servlet和Filter,可以使用JSP大部分功能;熟练掌握Android开发平台的用户界面、组件使用、数据存储、多媒体程序设计、图形处理、互联网应用、GPS定位服务等技术。

四、结束语

物联网是信息产业发展的新方向、新趋势,物联网将对人们的生活产生巨大影响,由物联网带来的经济效益也是巨大的。应该紧跟物联网的发展动向,培养更多掌握物联网技术方面的

[3,4]

这就要求设计满足物联网发展的相关人才,满足社会需要。

课程,本文从计算机相关课程角度出发,设计了一系列计算机相关特色课程以满足物联网发展需要。

参考文献:

[1]赵海.普适计算: 计算混沌形式[M].沈阳:东北大学出版社,2005:114-136.

[2]王小妮.物联网技术在嵌入式课程体系中的建设与研究[J].中国电力教育,2013,(10):105-160.

[3]钱志鸿,王义君.物联网技术与应用研究 [J].电子学报,2012,40(5):1023-1029.

[4]廖春生.物联网产业发展现状及岗位人才需求[J].大家,2012,(17):173-176.

(责任编辑:王意琴)

(上接第98页)

进行小组评分,作为该小组成员的最高得分;对组内各个成员评分,结合学生小组分工情况和组内评价进行评分,加权后确定个人成绩。

四、总结

CDIO教育模式在构思、设计、实现和运行的指导下,在继续强化对学生理论基础知识学习的同时,更加注重其理论知识的应用能力,整个团队的协作能力及自主学习、自主创新能力的培养。在建设创新型国家、创新型人才的背景下,将CDIO的理念引入到“操作系统课程群”建设中,以CDIO的教育模式去改革操作系统课程的实践教学环节是切实可行的。通过改革,在操作系统教学实践中,以“项目”为核心,鼓励学生发挥主观能动性,在实践的过程中自我学习,自我创新,实现课程的教学目标,提110

高学生的学习兴趣,为“操作系统”后续课程的学习打下扎实的理论和实践基础,取得了较好的教学效果。

参考文献:

[1]雷环,汤威颐,Crawley E F.培养创新型、多层次、专业化的工程科技人才[J].高等工程教育研究,2009,(5):29-35.

[2]邱剑锋,谢娟,李龙澍,等.操作系统课程之“读者—写者”问题教学探讨[J].计算机教育,2011,(22):16.

[3]吴大亲,么文学.CDIO 理念在 Linux 操作系统课程中的探索与实践[J].吉林工商学院学报,2011,(3):34.

[4]张璇,李彤.结合CDIO 教育理念与案例教学进行教学探索与实践[J].教育与教学研究,2008,(24):155-157.

(责任编辑:王意琴)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务