0 引 言
2019 年,吴建平院士在题为《计算机系统能力培养》的专题报告中指出,国家计算机产业的发展改变了对计算机专业人才的需求,明确了计算机人才培养定位已经发生变化,计算机系统能力培养已成为计算机学科教育中最重要的内容之一[1]。从 2010 年起,在分析计算机相关专业人才培养过程存在的不足基础上,计算机系统能力培养工作由国家教育部教指委正式开始组织实施,已在全国高校进行试点示范推广建设[2]。截至 2021 年,全国共有 110 所高校获评计算机类专业系统能力培养试点高校。评估计算机专业学生综合能力的重要指标之一就是计算机系统能力。
计算机系统能力要求学生有意识地运用系统观去理解计算机软硬件之间的完整性、相关性、层次性、动态性和开放性,具备运用计算机系统中各个组件之间协作和交互运作的机制解决复杂工程问题的能力[3]。操作系统是计算机系统最核心、最基础的底层软件,由于操作系统代码规模庞大、数据结构复杂,具有很强的垄断性,目前我国自主研发操作系统的可移植性弱、配套软件生态的缺乏仍是最大痛点,操作系统是我国“卡脖子”主要技术之一,亟须攻克。
1 操作系统课程教学中存在的问题
1)课内实验以验证性实验为主。
操作系统课程中以验证型实验为主,侧重操作系统原理相关算法的感性认知,以复现操作系统经典算法为主,缺少与实际操作系统关联性的讲解,不利于学生系统能力的培养[4-5]。
2)与其他课程衔接不足。
操作系统课程独立教学,授课教师难以与前驱课程和后继课程中的相关知识点进行有效关联,弱化了与其他课程的衔接及整合,导致学生难以获得完整的系统观[6]。
3)实践课时严重不足。
由于操作系统课程学时压缩,一些理论教学没有设置配套的实践环节,导致有限的实验学时无法满足教学需求,更谈不上通过实践环节锻炼提升学生计算机系统能力[7]。
4)教师对计算机系统能力培养理念认识不足。
培养学生计算机系统能力对教师和学生来说都是一个挑战。受传统授课方式的影响,部分教师对该理念的认识与界定存在偏差,缺乏改革创新的意识和欲望[8]。
2 面向计算机系统力培养的操作系统课程教学改革理念
以工程教育专业认证的 OBE 理念为指导思想,围绕学校办学定位、专业人才培养目标和毕业要求,凝练课程教学知识目标、能力目标和思政教学目标,以课程内容为主体,践行社会主义核心价值观为主线,自然融入课程思政内容,从备、教、学、评 4 方面构建课程教学改革体系。面向计算机系统能力培养的操作系统课程改革理念如图 1 所示。
3 面向计算机系统能力培养的操作系统课程教学实践
3.1 面向系统能力培养的课程目标
以学校办学定位、专业培养目标和毕业要求为导向,制订课程知识教学目标、能力培养目标和素质培养目标,将思政教育与课程专业教育相结合,使学生能够全面、深入地理解计算机系统,培养学生的科学精神以及解决复杂工程问题的能力。
1)知识教学目标。
(1)能够分析操作系统在计算机系统中的地位以及发展的目标,总结其在计算机系统中的作用,并给出操作系统的定义;能够简述计算机操作系统软件的发展过程和特征;能够分析操作系统软件的功能。
(2)能够理解进程和线程的引入原因及概念,能够阐述进程的基本状态及其状态转换、进程的同步机制;能应用信号量机制的 Wait 操作和 Signal 操作解决进程同步问题。
(3)能够阐释处理机调度和死锁基本原理及方法,对比各种调度算法时间性能,总结不同算法的优缺点;能够分析死锁产生的原因及存在的必要条件,并给出处理死锁的具体解决方法。
(4)能够知晓存储器的基本结构、程序的装入链接方式,掌握各种存储器连续分配算法与离散分配算法的区别和联系,对比分析各种算法的优缺点。
(5)能够理解 I/O 系统的相关概念和 I/O 控制方式,掌握缓冲管理的策略和设备分配的相关技术,具备对设备管理问题进行初步分析的能力。
(6)能够阐释文件系统的工作方式和相关概念,知晓文件的逻辑结构和存储方式,掌握目录和文件存储空间的管理。
2)能力培养目标。
(1)能够运用操作系统中有关处理机、内存、设备、文件和接口的基础知识与基本原理,对现代操作系统的设计理念和实现机制进行理论分析与推演。
(2)能够从操作系统设计的角度理解并准确描述操作系统中的相关数据结构与基本算法;能利用开源操作系统特性,剖析操作系统关键技术并进行原理表述。
(3)能够通过文献研究、课程实践等方法,对现代操作系统领域具体工程问题的解决方案进行调研与分析,并剖析其核心技术。
3)素质培养目标。
(1)树立国家忧患意识,激发学生科技报国的国家情怀和使命担当,坚定学生对我国各项国策方针、科学发展理念的认同。在潜移默化中培育和践行社会主义核心价值观。
(2)培养学生运用马克思辩证唯物主义和历史唯物主义分析与解决问题的能力,激发求真创新精神,培养学生批判性思维能力。
(3)培养学生自主学习和终身学习的意识、严谨求实的工作作风以及精益求精的工匠精神。
3.2 优化课程教学内容,建立操作系统课程为核心的课程群教学体系
课程群是一组既密切相关又相互独立的课程群体集合,该集合通常以某门课程为中心课程,其他课程以专业培养目标为导向,围绕中心课程制订课程目标、教学内容和教学方式[9]。以操作系统课程为核心,建立计算机组成原理、编译原理和数据结构课程群。课程群相关知识点梳理如图 2 所示。
操作系统课程从软件的角度描述了如何管理计算机硬件系统与支撑应用程序运行。操作系统的运行需要计算机硬件为其提供支撑环境,必须掌握底层的计算机硬件知识,才能直接支持操作系统的相关知识学习,计算机组成原理从硬件的角度描述了计算机系统[10-11]。编译程序介于操作系统和应用软件之间,架起了操作系统和应用程序之间的桥梁。通过学习编译程序的结构及各组成部分的设计原理和实现技术,能够促使学生理解程序设计语言及程序运行过程实质,并培养学生初步具备运用计算思维以及形式语言与自动机理论设计大型系统软件和应用软件的能力[12]。编译原理的存储器空间组织、目标代码生成及优化与操作系统中的进程管理、存储器内存空间分配管理和文件管理密不可分。操作系统原理课程广泛使用了数据结构中讲授的链表、队列、栈、树、排序、查询等知识。以操作系统为核心建立课程群,建立了课程之间紧密、顺畅的联系,培养学生计算机系统的整体观,使其更深刻地理解各门专业课程。
3.3 构建基于项目驱动的操作系统课程实践教学体系
按照操作系统课程目标,其实践教学体系由课内必修和课外拓展构成,按照课内讲解、算法验证、源码剖析和实验项目 4 个步骤循序渐进完成全部操作系统课程实践,实施过程由浅入深、循序渐进,注重操作系统基本理论与实际操作系统相联系,注重学生能力的达成与挑战意识的培养,逐步推进其计算机系统能力的培养。整个实践环节分为课内验证类实验、MOOC 引导的课外实验和实验项目 3 个层次,逐步提升学生实践能力,将系统能力培养贯穿整个实践环节,促进学生形成创新意愿,为其后续参加学科竞赛、企业实习以及完成毕业设计奠定基础,培养其工匠精神以及解决复杂工程问题的能力。操作系统课程实践教学体系如图 3 所示。
(1)验证类实验考查基本理论的掌握情况。操作系统课程实践体系以课内理论为基础,选取处理机调度与死锁,进程同步和存储器管理 3 个章节中的重点内容,设计银行家算法、信号量的同步与互斥和页面置换算法作为课内实验内容,通过实验环节实现算法运行模拟与结果可视化,进一步巩固理论知识,培养学生严谨理性的科学态度。
(2)课外开发类实验是以 MOOC 教学内容为基础。由于目前教学课时限制,课堂上无法深入讲解操作系统实例,为此教师精心挑选 MOOC 平台的公开视频,作为课堂教学和实践环节的补充,同时学有余力的学生也可以通过这些优秀教学资源学习到更多的知识。Linux 是一种免费使用、自由传播的类 UNIX 操作系统,具有开放源码、灵活性高、功能强大等特点。Linux 操作系统在嵌入式系统、网络编程、云计算、分布式系统、机器学习等领域都有广泛的应用。操作系统课程课外实践体系选取 Linux 操作系统作为实验平台,实验内容与操作系统原理知识点相呼应,使学生知晓操作系统与计算机硬件体系结构的关系,锻炼基于 Linux 操作系统的算法设计与系统研发能力。基于 MOOC 的课外实验包括 Linux 基本命令和程序调试,Linux 进程的创建、调度、同步、通信,Linux 动态分区分配算法模拟 3 部分实验内容。
(3)在课内理论、课内验证型实验和 MOOC 学习基础之上,增加综合型课外实验项目。合理地把控综合型实验的难度,督促学生利用课余时间自主练习更多的实验内容。实验项目以小组为单位,在教师的指导下,学生主动利用各种线上线下资源查找资料,共同寻求实验项目解决方案。项目考核以小组提交小视频的方式进行,教师评阅后,在教学平台上展示优秀实验项目,并组织学生在课堂上讲解自己的实验项目,帮助学生寻找设计中存在的不足和差距,锻炼学生团队意识以及解决问题的能力。操作系统课程实验项目包括内核模块编写、Linux 字符设备驱动模拟和 Linux 简单文件系统模拟。
3.4 引入以操作系统前沿技术为导向的主题大作业
操作系统一般设置在本科阶段的第 5 学期,本科三年级学生对计算机学科专业的学习逐渐深入,教材中的内容以操作系统基本原理为主,在学习课本知识的同时,引入以操作系统前沿技术为导向的主题大作业,将操作系统学科研究领域近年来的最新成果、主流操作系统的设计精髓与传统教学内容有机融合。该环节要求学生在规定的时间内从各种渠道跟踪收集某一主流操作系统有关的最新信息,培养学生查找文献、阅读文献和梳理文献的能力,使学生知晓早期经典技术与最新前沿技术的差异,了解国内外科技前沿动态,充分认识到操作系统对于国家安全重要性,培养学生的国际视野、家国情怀和学术志趣。
以操作系统前沿技术为导向的主题报告以主题论文的形式提交,学生通过阅读文献要能够在主题论文中表达自己的观点。教师要制订大作业写作排版规范,要求论文题目、注释和参考文献符合国家标准,以锻炼学生的论文写作能力,为一年后的毕业设计说明书撰写奠定基础。每次拓展主题基本和课程教学进度一致。前沿主题论文主要包括操作系统的发展趋势、当今操作系统的新技术以及我国大力发展国产操作系统,构筑自主可控 IT 环境相关政策方针的读后感等内容。
4 课程改革教学效果
本教学改革于 2020—2021 学年开始实施,评价方式由定性评价与定量评价两部分构成[13]。
1)定性评价。
课程结束后,结合课程教学目标和教学方法,以调查问卷的方式评估学生对课程目标的定性达成情况,调查学生掌握知识、获得能力等课程目标达成情况。调查结果均分为很满意、比较满意、一般、不满意和不适用 5 个等级。从调查问卷分析结果可以看出,实施教学改革以来,学生对教师教学方法的满意程度逐步提高,在操作系统前沿动态、实践体系和算法应用方面提升较为显著。学生对于教师教学态度的总体满意程度达 99%(很满意和比较满意总和),但少量学生在操作系统前沿动态和 OS 算法应用方面满意度较低,今后要以课程目标为依据,控制主题论文的规模,让学生真正明白具体主题需求,对于设定的具体问题,能够将课堂理论引入实际操作系统,并指导学生通过广泛阅读国内外相关文献资料,撰写前沿主题论文,进而达成课程目标。
2)定量评价。
定量评价以课程目标为导向,强化学生过程性考核,建立以随堂测试、课堂互动、课后作业、课外主题拓展论文、实验报告、实验项目答辩展示和期末考试为考核点的多元化考评体系,各个考核方式比例分配见表 1。
以课程目标为导向,结合操作系统应用背景,自主设计学生课后习题和期末试题,加大了具有探究性的习题的比例,将传统的简答题改为分析题,要求学生能够对现代操作系统的架构和实现机制进行初步分析,灵活运用操作系统基本原理解决实际工程问题。这类题型往往没有统一的标准答案,每位学生的解答各不相同,重点考查学生理论联系实际的综合分析能力,使学生能够结合自己对操作系统的理解,从计算机专业角度和应用角度解决问题,考查了学生分析问题、解决问题的能力和创新思维。
对比 2020—2021 学年和 2021—2022 学年中北大学计算机科学与技术专业期末考试成绩,学生平均成绩分别为 78 和 80 分,成绩标准差为 14 和 10,学生成绩差距明显缩小,优良率( ≥80 分占比)由 50% 提升至 56%,不及格占比由 8.5% 降至 3%。实施教学改革以来各课程目标达成情况均为良好,尤其在操作系统相关算法及其应用和实践环节,学生提高较为明显,课程改革初见成效。
5 结 语
为提升学生计算机系统能力,建立完善了面向计算机系统力培养的操作系统课程体系,从课程群建设、实践体系、前沿主题作业和考核体系方面开展加强学生系统能力培养的改革。课程改革实践表明,以上措施对于提升学生计算机系统能力起到积极作用。
近年来,在毕业设计环节中,与操作系统相关的题目逐年上升。2021 年由中北大学操作系统课程组教师指导,自主研发的操作系统虚拟实验平台“内存管理实验”,获第六届全国计算机类课程实验教学案例竞赛二等奖;学生在互联网 +、ACM 程序设计、计算机设计、挑战杯、蓝桥杯等各类科技竞赛中屡获佳绩;2022 年,计算机科学与技术专业考研率超过 60%,47 人继续攻读硕士学位,其中部分学生进入西安交通大学、电子科技大学、西北工业大学、北京交通大学等高校继续深造;进入华为、阿里、百度、360、新浪、搜狐、网易等国内知名 IT 企业就业学生的比例逐年提升。
今后将继续探索教师科研课题引入操作系统课程的教学模式,扩充实践教学内容,为大学生参与科研提供平台和条件,为提升学生系统能力创造多元化的学习机会。
参考文献:
[1] 艾丽华, 王志海, 于双元. 计算机系统观的起步培养[J]. 计算机教育, 2021(10): 81-84.
[2] 言十. 新工科建设与系统能力培养[J]. 计算机教育, 2018(7): 1-4.
[3] 陈田, 路强, 安鑫, 等. 面向能力培养的计算机专业课程体系建设与实践[J]. 软件工程, 2017, 20(7): 25-27.
[4] 李娜, 李征, 王鹏, 等. OBE理念下的操作系统课程教学改革与实践[J]. 软件导刊, 2022, 21(7): 122-125.
[5] 董跃宇, 强振平, 胡坤融, 等. 新工科理念下的计算机系统能力培养教学体系建设探讨[J]. 大学教育, 2021(6): 115-117.
[6] 韦良芬, 梁月放, 梅莹莹. 应用型本科计算机系统能力培养的硬件课程群建设[J]. 西昌学院学报(自然科学版), 2020, 34(2): 112-115.
[7] 侯秀萍, 郑虹, 焦素云, 等. 操作系统课程群建设的研究[J]. 教育教学论坛, 2016(20): 16-17.
[8] 袁春风, 陶先平, 汪亮, 等. 面向计算机系统能力培养的课程实验体系构建[J]. 实验技术与管理, 2018, 35(6): 12-16.
[9] 安鑫, 胡学钢, 陈付龙, 等. 面向系统能力培养的硬件类课程实践体系构建[J]. 计算机教育, 2020(5): 141-146.
[10] 龙陈锋, 傅卓军, 何轶.“操作系统”与“计算机组成原理”课程关系分析[J]. 现代计算机(专业版), 2018(32): 42-46.
[11] 张文宇, 王睿, 赵洪华, 等. 面向系统能力培养的计算机组成原理教学改革探索[J]. 软件导刊, 2020, 19(12): 185-189.
[12] 吴庆岗, 朱付保, 黄伟, 等. 面向计算机系统能力培养的操作系统课程教学改革与探索[J]. 电脑与电信, 2021(9): 16-19.
[13] 张元, 杨晓文, 韩慧妍, 等. 面向工程教育认证的操作系统课程评价体系改革[J]. 计算机教育, 2021(6): 42-46, 51.
基金项目:2022 年山西省高等学校教学改革创新项目“工程认证背景下面向计算机系统能力培养的 ‘操作系统’改革与探索”( J20220651 )。
第一作者简介:张元,女,副教授,研究方向为计算机视觉与人工智能,zhangyuan@nuc.edu.cn。
引文格式: 张元, 杨晓文, 李玲, 等. 面向计算机系统能力培养的操作系统课程教学改革 [J]. 计算机教育, 2023(8): 36-41.
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!