面向系统能力培养的操作系统优质课程建设
2018-06-01翟高寿
翟高寿
(北京交通大学 计算机学院,北京 100044)
0 引 言
操作系统是计算机本科专业主干课程,国内外各高校计算机专业均对操作系统课程的教学研究和改革非常重视。特别地,操作系统作为北京交通大学计算机学院长期重点建设的核心课程,先后被评为校级精品课程/优质课程、教育部-英特尔精品课程(建设项目),现在正处于进一步提升优质课程建设水平的拔高阶段。鉴于操作系统及计算机技术的迅猛发展,课程的教学内容须与时俱进和不断完善。操作系统研发技术相对滞后,长期制约着我国基础系统软件的发展,而操作系统课程在我国高层次计算机专业人才的基础知识传授和实践技能培养方面则具有不可替代的作用和特别重要的意义。需要强调的是,在国务院《国家中长期科学与技术发展规划纲要(2006—2020年)》及“核高基”国家重大科技专项的实施过程中所折射出来的计算机专业人才培养问题说明,计算机系统能力培养亟待加强和改善,并是提高计算机专业本科教学质量和水平的一个重要方向[1]。为此,面向计算机系统能力培养目标,着力推进操作系统优质课程建设非常必要而且至关重要。
1 面向系统能力培养的教学理念
系统是指若干相互联系和相互作用的部件或要素所构成的整体。系统结构则反映了系统各组成部件之间的联系。系统之间的关系错综复杂,一般来说,在一个更高层面上,一个系统往往可能又是另一个更大系统的组成部分。对于计算机系统而言,存在如图1所示的系统组成视图,其中操作系统是最重要的核心系统之一。
图1 计算机系统组成
对于计算机专业而言,相关系统能力应包含计算机各类软/硬件系统的系统分析、系统设计、系统构建、系统测试、系统验证的能力。特别地,操作系统课程应当逐步建立起并不断完善涵盖操作系统的分析、设计、构建、测试及验证等能力培养的教学目标。其中,操作系统的分析能力既包括需求分析能力,也包括操作系统内核源码分析能力;操作系统的设计能力和构建能力首先应瞄准操作系统的整体设计和构建,同时也包括处理机管理、内存管理、设备管理、文件管理等各子系统模块的设计和构建;操作系统的测试能力主要倾向于功能、性能方面的测试和分析,而验证能力则应把重心放在从理论上或结合测试手段开展有关功能和安全等方面的形式化分析验证。对于本科生而言,应当把操作系统的设计能力、构建能力以及源码分析能力培养作为重点,而操作系统的分析能力、测试能力、验证能力则可作为研究生阶段相关课程(如高级操作系统、安全操作系统等)的教学目标。
2 操作系统优质课程建设
2.1 教学内容完善及进度优化
操作系统是最重要的基础系统软件,是一组有效管理计算机各类硬件和软件资源、合理地对各类任务进行调度以组织和控制系统工作流程,并方便用户使用计算机的程序的集合。毋庸置疑,操作系统本身就是一类非常复杂的系统。需要指出的是,传统的操作系统教学往往孤立地讲授构成操作系统的处理机管理、内存管理、设备管理、文件管理等各个模块,过多地强调进程、信号量、死锁等概念和相关原理以及调度算法、分配算法、页面置换算法等理论细节,而常常忽略了有关子系统自身的有机组成和内在联系以及它们彼此之间的关联关系,其间,操作系统自启动过程及引导模块设计也经常是被人遗忘的内容。同时,考虑到课程教学安排应遵循认知规律,以激发作为课程教学主体的学生的学习兴趣和积极性,进而改善学生学习效果和提升课程教学质量,所以,应在凝练操作系统课程核心知识点和完善教学内容的同时,对课程教学内容讲授先后次序进行适当的调整和优化(表1)。其中,根据教学安排的先后次序对知识单元从上到下以及核心知识点从左到右和从上而下进行了排列。
表1 操作系统课程核心知识点及教学进度规划
2.2 实验课题分类及层次化
计算机专业属于工科专业,实践编程能力对于学生就业竞争力的提升和在实际工作岗位发挥效用具有十分重要的意义。我国在以操作系统为核心的基础系统软件方面长期处于相对落后的状况,并由此制约着计算机系统科研技术的发展和国家信息安全战略的实施。为此,在操作系统优质课程建设提升水平的过程中,课程教学实践环节及学生操作系统编程能力培养亟待进一步改善提高,面向系统能力培养应是关键所在。所以,从操作系统构建各关键模块的实验设计出发,面向国家核心系统软件技术发展要求,并融入核心算法实现和开放源码分析等两类实验作为有机补充,构建和完善适应国家操作系统及相关系统软件开发人才需求的操作系统课程分层立体式实验课题体系(图2),可为确立学生计算机系统观及培养综合编程素质与能力奠定坚实基础并产生深远的影响。
考虑到学生兴趣及其未来工作技能需求的多样性客观现实,操作系统课程实验实践环节应全面实施自主选择实验课题并贯彻分类分层次要求及因材施教的原则。在此基础上,认真总结课程教学实践经验教训并借鉴国内外各校操作系统课程实践环节相关经验,建立健全实验课题指导书,规范完善实验基础材料,鼓励优秀实验成果当堂演讲汇报及整理公布优秀实验报告,示范引领学生整体实践能力和综合素质提升。
图2 操作系统课程分层立体式实验课题体系
2.3 课程间关系协同强化
操作系统课程与计算机专业开设的不少课程存在着密切联系。鉴于绝大部分操作系统是采用C语言和汇编语言开发的,而计算机硬件系统又是构成操作系统的基本运行平台,所以C程序设计、计算机组成原理、汇编与接口技术等课程为操作系统课程的先修课程。同一学期讲授的计算机体系结构课程与操作系统课程在存储器管理及设备管理等方面有共同关注的内容,按照计算机体系结构课程侧重硬件内容、操作系统课程侧重软件内容的原则,由课程组之间协商讨论和妥善解决。在贯彻操作系统研发能力培养的教学目标过程中,应把某些较高难度操作系统实验课题纳入高年级实践类课程(如软件系统课程设计、软件综合实践)的实验课题体系,实施倾向性鼓励评分策略,设计合适的操作系统研发相关类本科毕业题目,为提高学生操作系统层面的编程和实践能力创造有利条件。
2.4 课程资源及教材建设
学生是学习的主体,故而操作系统优质课程建设的核心目标(即改善学生学习效果和提高课程教学质量)的落实,关键在于充分调动学生学习的主动性、积极性及发挥其主观能动性,为此构建和完善操作系统课程基础教学资源尤为重要。操作系统课程组立足于北京交通大学思源教学平台,我们不断丰富完善操作系统课程平台资源库,持续改进课程课件、课堂音视频资料、作业题库、试题库及优秀实验成果示范报告库,健全和完善学生自主学习支撑环境。与此同时,在录制和整理课程课堂讲授音视频资料的基础上,围绕操作系统核心知识点,制作了部分操作系统慕课课程,开展实践应用研究。在此基础上,以课程平台资源库为纽带,以理论作业和实验课题为抓手,带动学生自主学习、主动学习,形成了积极学习向上的氛围,促进了课程学习效果的全面提升。
教材建设是课程建设上水平不可或缺的重要组成部分。操作系统课程组历来重视教材建设,并为此不断积累经验和积聚实力。2008参与编写《操作系统原理与实践》(高等教育出版社出版);现已翻译完成国外教材《Operating Systems: A Spiral Approach》(《基于螺旋式方法的操作系统教程》,机械工业出版社出版)。另外,我们秉持知行理念的教材建设目标[2],组织撰写适应新时代计算机专业发展需求特色的自编操作系统教材,自2013年启动编写工作以来,业已形成初稿,并在课堂上多次试用相关内容,计划进一步修改完善和在明年底之前最终定稿,计划于后年出版发行。
2.5 教学实践效果及学生反馈
课程教学进度规划的优化和实验课题分类及层次化要求的落实,极大地激发了学生学习操作系统课程的兴趣和内在动力,而课程平台资源库的丰富完善则使他们在学习中如虎添翼,期末考试卷面成绩同以往相比发生了较大的提高。不少学生坦言,有关系统类的实验课题的完成尽管“比较吃力”“实在是不容易”“遇到了很多困难和挑战”,但使他们“真正触摸到了系统”“收获很多”“学到了很多实实在在的东西”,对操作系统“概念比较抽象”的感觉也转化成为“好像操作系统也没有那么神秘了”的顿悟境界,甚至让他们感到了“一点成就感”“学到了受益终生的知识”等。
3 结 语
面向系统能力培养教学目标,以完善优化操作系统课程内容、分类和层次化实验课题、协同优化课程间关系、建设慕课及持续改进课程平台资源库、引进国外先进教学理念、加强操作系统教材建设等为抓手,着力强化操作系统优质课程建设,上述实践取得了较好的教学效果。今后我们将进一步提升课程建设水平、优化课程教学效果、激发学生系统知识与技能的综合发展,以期对北京交通大学计算机科学与技术专业建设及专业教育竞争力的提升产生积极的推动作用。
[1] 刘卫东, 张悠慧, 向勇, 等. 面向系统能力培养的计算机专业课程体系建设实践[J].中国大学教学, 2014(8): 48-52.
[2] 翟高寿. 关于操作系统课程教材建设的几点思考[C]∥北京市教育委员会、北京高等教育学会教材工作研究会. 构建高等教育教材建设体系, 提高高等教育教学与人才培养质量: 北京高校教材建设研究文集. 北京: 中国人民大学出版社, 2015: 36-40.