任务驱动教学法在“操作系统”课程中的应用研究*
2014-07-20刘华富
叶 晖,刘华富
任务驱动教学法在“操作系统”课程中的应用研究*
叶 晖,刘华富
(长沙大学计算机科学与技术系,湖南长沙410022)
“操作系统”是计算机学科中一门重要的专业基础课程,因其知识点庞杂且原理抽象,传统的理论教学方式往往联系实际不够,导致授课内容较为枯燥难于理解.采用任务驱动教学法,确立教学目标,将理论教学内容与设计任务模块有机结合起来,激发学生学习主动积极性,并能帮助学生更好地理解操作系统内部原理与运行机制,取得了较好的教学效果.
任务驱动;教学方法;操作系统
操作系统是系统软件和应用软件建立的基础平台,它在整个计算机系统中处于承上启下的关键地位.基于这个原因,“操作系统”一直是计算机学科专业的核心课程之一,也是一门非常重要的专业基础课[1].在传统研究型本科高校的操作系统课程教学模式中,大多数以理论知识的学习为主,着重讲授计算机操作系统的基本概念和基本原理,针对性的实践性环节较少,有的甚至就没有.而高职高专院校的教学有很多实际采用了windows操作为主要内容,以掌握系统的应用技能为主导向,疏忽了必要的理论学习,学生的分析问题、解决问题的能力较差.如何在必要的理论学习与相关的实践应用中找到平衡点,这是应用型本科院校“操作系统”课程教学的关键.
另一方面,“操作系统”课程内容主要包括了进程管理、处理机调度、存储管理、设备管理、文件系统等[2],涉及的知识点非常多,包括有处理机管理的实现、进程的原理、调度、进程同步互斥算法和性能分析;存储器管理的实现、分页机制、缺页调度与性能分析;设备管理和设备相关硬件知识、磁盘管理等等.课程内容庞杂,范围面广,概念抽象,理论性强,尤其涉及大量软硬件体系结构设计知识,对于应用型本科院校软件专业的学生的教学而言有相当的难度,学生在学习过程中,往往很难充分发挥积极性和主动性,从而很容易导致学生丧失对学习的兴趣,教学质量与效果较低.因此有必要在教学方法及教学手段上做出相应的改进和创新.
1 任务驱动教学法在课程教学中的具体实施
任务驱动式教学方法是一种建立在建构主义学习理论基础上的教学方法[3],具体指的是在教学的过程中,通过教师指导,围绕一个事先设计好的任务实践活动,学生主动对任务进行自主解决和互相合作的一个过程.它将传授知识为主的传统教学,转变为以解决问题、完成任务为主的多维互动式的教学.任务驱动式教学方法注重以学生为主体,在培养学生的理论研究能力的同时,也提高了学生的设计与实践能力.在任务驱动教学模式下,教学流程可分为“任务设计”,“任务分析与细化”,“接受任务与自主实践”,“评议与总结”四个部分,如图1所示.下面对任务驱动教学在“操作系统”课程中的实施方法与步骤进行具体阐述.
图1 任务驱动教学法流程
1.1任务设计
采用任务驱动式的教学方法中,任务设计提出目标,基本而言任务设计要能和理论教学内容紧密结合.任务内容的设计应能够充分调动学生的创造思维,鼓励学生多角度、多层面的考虑问题.以“操作系统”课程中重要知识点之一——多进程调度为例,我们的任务设计提供一个虚拟内核平台,该内核能支持多任务管理.要求学生对该虚拟内核进行功能扩展,完成创建进程、终止进程、进程状态转换,进程调度,上下文切换等功能.该任务设计基本涵盖了理论课程教学内容中关于进程的重要知识点,能促进学生更好地理解掌握操作系统进程的基本原理和运行机制.
1.2任务分析与细化
任务分析与细化是任务驱动式的教学方法中的一个关键部分.在这个环节,教师在分析任务的时候,应该由教师引导学生进行研究和讨论,并根据学生的具体知识结构特点进行任务细化.如多进程调度这个任务,首先可以把这个大任务细分成几个小任务,以降低总体难度,提高学生完成任务的信心和积极性.具体而言,可以分成虚拟内核(VKernel)、命令解释程序(Commander)、用户程序(Application)、编译函数(Compiler)四部分组成.VKernel是基础平台,首先运行,并常驻内存.Kernel启动后,创建Commander进程.根据用户请求创建多个应用进程,之后多个应用进程根据调度算法进行调度.在教师讲清楚任务组成和基本运行流程后,可以根据学生具体接受情况再对需要扩展完成的功能进行细化说明,其中Kernel为进行功能扩展则需要添加相关的数据结构,如:系统时间片(Time),处理器状态(CPUstate),进程表(PCBTable),就绪队列(ReadyState),等待队列(Blocked-State),运行进程状态(RunningState).而对于调度算法,应对学生说明调度算法的原则,如采用时间轮转和优先级调度混合算法等,让学生独立完成具体编码实现.该任务的子任务细化分析示例如下:
子任务1:设计一个命令解释程序,负责解释执行用户程序中的语句,发送给内核.
子任务2:在内核中添加一个编译函数,解释执行用户程序中的语句.
子任务3:在内核中添加一个调度函数,根据调度算法调度用户进程运行.
子任务4:在内核中添加一个上下文切换函数,负责进程的切换.并在内核中设置一个定时器,负责处理时间片.
通过上述任务内容的分析,把总任务分解成四个子任务后可以降低整体编程的难度.之后对任务中涉及到的知识点和实例进行讲解,并引导学生回顾理论课时的原理与知识点,最后演示任务完成的总体效果,这样可以给学生一个较强的感性认识,并激起其动手自主实践完成任务的兴趣.
1.3接受任务与自主实践
在任务分析细化完毕之后,即可把任务布置给学生自主实践完成.在这个环节,教师应注意及时跟踪学生具体完成进度及情况,引导鼓励学生相互讨论交流,培养他们分析问题与动手解决问题的能力[4].对于学有余力的学生,应引导他们进行深入思考,有所创新.而对于部分基础比较薄弱,接受能力比较差的学生,可以根据具体课堂情况将相应任务的关键实现数据结构进行说明,如CPUstate应包括程序计数器PC,累加器A、B,状态寄存器F的值.而PCBTable的每一项是一个进程的进程控制块(PCB).PCB数据结构应包含进程的所有信息,如进程号pid,进程优先数,进程运行时间,进程时间片等.在完成任务的全过程中教师起到组织和解疑答惑的作用,引导学生用所学知识进行程序设计,整个过程并不参与学生的具体编程实践.
1.4评议与总结
在这个环节,可将评议分为教师评价和学生评价两个部分.教师对学习的总结评价主要包括两方面内容,一方面是对学生是否完成当前问题的解决方案的过程和结果的评价,即所学知识点的意义建构的评价,而更重要的一方面是对学生自主学习及协作学习能力的评价.学生评价是指学生之间的评价总结,促使学生更好地解决问题.
在总结过程中,教师应采用积极的肯定鼓励学生多总结经验,多分析问题,多动脑创新.在这个过程中能够逐步让学生对“操作系统”课程中原本抽象的理论有较深感性的认识,通过这种方式学生也能逐渐加深对理论的理解,帮助他们深入体会操作系统内部运行机制与原理,切实掌握实际运用这些知识的能力,而且可以培养学生良好的理论与实践相结合的意识和习惯,全面提升学生的基本技能、工程实践能力,对于创新能力和科学素养的养成也有良好促进作用.
2 结束语
任务驱动教学模式具备如下三个特点:第一是强调学生在掌握基础知识和技巧的同时,能够充分锻炼思维能力.即在任务驱动教学模式中,学生需要通过主动思考锻炼自身的独立思维能力,充分挖掘思维潜能.第二强调学生是学习的主体.即以学习活动为基础,学生充当了学习的主体、认识的主体以及发展的主体,而教学内容则成为学习活动的客体.第三注重教学内容和任务实践方法的有机结合.在理论课中介绍的基本概念、原理和算法,要通过任务实践加以理解和吸收.
本文以多进程调度为例,具体阐述了采用任务驱动教学法在“操作系统”教学过程中的实践应用,通过这种方式可以将操作系统的理论和实践紧密结合,把教学重点放在培养学生的学习兴趣和运用操作系统原理解决实际项目任务的能力上.让学生能切实地感受到操作系统的重要性和有用性,从而更有效地掌握操作系统的设计思想和实现方法.在实际教学过程中取得了较好的效果.
[1]张步忠,江伟.操作系统课程教学与教师素养研究[J].中国电力教育,2010,(18):11-12.
[2]李景峰,刘伟,郝耀辉,等.操作系统课程的启发式教学研究与探讨[J].计算机教育,2010,(8):34-37.
[3]杨洪雪.任务驱动式教学方法的特点及过程设计[J].教学与管理,2006,(4):27-28.
[4]曹雪,王晓峰,邹建伟,等.操作系统课程设计实践体系的探索与构建[J].计算机教育,2010,(10):41-43.
The Application of Task-driven Teaching Approach in the“Operating System”Course
YE Hui,LIU Huafu
(Department of Computer Science and Technology,Changsha University,Changsha Hunan 410022,China)
The operating system is an important basic course in computer science.It has a lot of knowledge and complex principles. Therefore,the teaching lecture is boring and difficult to be understood as generally the traditional teachingway can not connect the theory and practice enough.Using task-driven teaching approach can establish teaching objectives and combine theoretical teaching content and design taskmodules.Furthermore,it inspires students’enthusiasm for learning and help students better understand the internals of the operating system and operationmechanism.Good teaching effect is achieved by using this teaching approach.
task-driven;teaching approach;operating system
G424
A
1008-4681(2014)02-0122-02
(作者本人校对)
2014-02-27
湖南省自然科学基金(批准号:11jj6059)资助项目;长沙市科技计划项目(批准号:K110717-11).
叶晖(1979-),男,湖南长沙人,长沙大学计算机科学与技术系讲师,博士.研究方向:计算机网络、可信计算.