基于项目驱动的操作系统课程实践教学改革与探索
2020-08-10牛芗洁
[摘 要]操作系统是计算机科学与技术专业的专业核心课程。操作系统课程的理论知识内容丰富,概念抽象,涉及面广,同时也对学生的实践性提出了较高要求。因此,操作系统课程实践教学成为该课程的重要环节。为了更好地体现实践教学在操作系统教学中的作用,学校提出了基于项目驱动的操作系统课程实践教学改革,培养学生的动手实践能力,提升学生的工程应用能力。
[关键词]项目驱动;操作系统;实践教学
[作者简介]牛芗洁(1977—),女,陕西西安人,硕士,北京农学院计算机与信息工程学院副教授,主要从事计算机应用技术研究。
[中图分类号] G642.0[文献标识码] A[文章编号] 1674-9324(2020)27-0224-02[收稿日期] 2019-10-14
操作系统是计算机科学与技术专业的专业核心课程,在人才培养中占有重要的地位。系统能力是计算机专业学生区别于非专业学生的核心能力之一,而动手实践能力则是系统能力的显著体现,如何通过强化课程实践教学,提升实践教学效果,加强学生系统能力培养是目前亟待解决的问题。
作为全新的教学方式,项目驱动教学法通过教师与学生共同完成某一项目,最终达到共同获得知识进步的目标[1]。通过实施基于项目驱动的实践教学方法,学生不但对所学知识有了感性认知,还强化了其动手实践能力,对操作系统实践课程教学改革有非常重要的意义[2]。
一、操作系统实践课程教学现状
我校操作系统实践课程分为两部分,以MS- Windows平台为例,具体教学情况如下表所示。
通过一系列的实践教学环节,学生深刻理解了操作系统进程(线程)管理、并发控制、处理器调度、内存管理、I/O管理等核心概念,掌握MS-Windows W32 API的使用方法,熟悉MS-Windows系统开发环境与工具;正确理解项目需求、学会利用相关的文献资料,针对具体简单项目需求能够编写和调试代码,撰写规范的技术文档、Demo和调试报告等,初步具备系统编程的能力。
二、项目驱动教学法
项目驱动教学法是以学生为主体的崭新的教育教学方法,改变了以往教师为主体的传统教学模式,实现了“以教师为主导、学生为主体”的转变,强调发挥学生的主观能动性,真正做到让学生从“被动学”到“主动学”的转变[3]。项目驱动教学法的教学步骤如下:
1.教师从学生已有的知识储备和经验出发,结合学生的知识认知规律等特点,以教学项目为主线,制定贴合教学目标和要求的真实项目若干,以供学生自主选择。
2.在对真实项目进行文献搜索和讨论的基础上,学生选择确认自己感兴趣的项目。
3.确定分组,根据不同的项目题目分组。
4.计划制订,组内进行讨论,确定项目研究目标、问题、方法等,并形成书面的项目方案。此过程中,授课教师可引导学生并给出建设性建议,学生也可通过组间讨论,取长补短,最终修改和完善项目方案。
5.实施项目。按照既定的方案,组内成员分工协作,对项目各模块进行分析、设计,完成代码的编写和调试等。在此过程中,授课教师要特别重视师生之间及学生之间的协作与对话。
6.阶段性成果,小组按照项目报告的要求,撰写报告。根据报告,制作项目结题演示PPT。
7.项目成果演示,各组依次进行陈述汇报,并接受授课教师或其他小组的提问,此过程可作为项目评价的依据之一。
8.师生共同进行项目最终评价,进行自评、小组间互评和授课教师评价等方式,做出总结性评价,使学生明确所做项目的优缺点,明确今后努力方向。
该教学模式以项目为驱动,开展真实的、有意义的教学项目,学生在学习过程中注意力集中在对该项目问题的解决上,将完成该项目任务所需要的相关理论和知识涵盖于项目之中,而不是显性的理论学习上,同时教学项目都是真实的,甚至和他们所有专业(方向)有相关性,这还会极大地激发学生的学习兴趣和积极性,达到提升学生学科综合能力的目标[4]。
三、项目驱动操作系统课程实践教学应用举例
操作系统课程的课程设计实践教学目标要求学生深刻理解现代操作系统的核心概念,掌握Linux系统调用或者MS-Windows W32 API的使用方法,熟悉Linux或MS-Windows系统开发环境与工具,初步具备系统编程的能力;能够正确理解题目需求、学会利用相关的文献资料、编写和调试代码、按时提交完整规范的技术文档、Demo和课程设计报告[5]。在实际的实践教学过程中,教师为学生设计了在MS-Windows操作系统平台上实现多个线程的并发执行,编程实现对读者与写者问题的模拟,所谓“读者—写者问题”是指保证一个写者线程必须与其他线程互斥地访问共享对象的多线程同步问题,从该核心问题出发,授课教师引导学生在查阅相关资料的基础上,让学生掌握其包括读者优先和写者优先的读写操作限制为写—写互斥,即不能有两个写者同时进行写操作;读—写互斥,即不能同时有一个线程在读而另一个进程在写;读—读允许,即允许同时有多个线程在读同一个对象或文件。项目总则也给出附加限制读者优先—如果有一个读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可以直接开始读操作,而写者必须等所有的读者读完后才能进行写操作;写者优先—如果一个读者申请读操作时已有一个写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才可以开始读操作,而写者只需等待另外的写者完成写操作[6]。学生自行拟定要实现的真实项目,授课教师按照题目的相关性,将学生分为若干个学习小组,引导学生先对整体项目功能等进行完善;然后再对项目进行“切割”和“分工”;最后对每个小组的项目成果进行评价和验收。总之,就是对项目进行功能等完善,在此基础上再按照项目方案进行实现。
可以看到,上述项目设计涵盖了操作系统课程的诸多主要知识要点,其以整体项目为主线构建起了一张完整的教学网络,有助于锻炼和提高学生的理论知识迁移应用能力,同时也增进了教师和学生之间的学习互动交流,有助于提高该课程教学质量。
四、结语
操作系统作为一门实践性较强的课程,实验教学发挥着重要的作用。几年的教学实践证明,基于项目驱动的计算机科学与技术专业的操作系统实践教学,使理论與实践的联系更加紧密,增强了学生学习兴趣及认知能力,有效培养了学生综合应用知识的能力、分析与解决问题的能力、创新实践能力及协作精神,应该进一步优化综合性的操作系统课程设计项目,全面提升学生的专业综合素质。
参考文献
[1]杜经纬.基于项目分解的任务驱动教学模式探讨[J].电脑知识与技术,2016,12(35):91-92.
[2]李泽辉.“项目驱动式”教学法的探索与实践[J].实验科学与技术,2011,9(2):133-134.
[3]冯其红,胡伟,王增宝.改革实验教学模式,培养大学生的工程实践能力[J].实验室研究与探索,2013,32(2):130-132.
[4]赵正平,陈静.项目驱动教学法浅析[J].中国教育技术装备,2012(27):114-115.
[5]冯纪南,刘晶,杨德俊,赵丽萍,邓斌.项目驱动式实践教学模式的探索[J].中国现代教育装备,2015(15):88-90.
[6]邱剑锋,朱二周,周勇,等.OBE教育模式下的操作系统课程教学改革[J].计算机教育,2015(12):28-30+34.