投稿问答最小化  关闭

万维书刊APP下载

基于金字塔原理的操作系统课程知识图谱构建与应用

2024/1/2 14:47:42  阅读:76 发布者:

0 引 言

操作系统原理是一门系统性强且涉及计算机学科多种相关知识的课程,对于连接计算机底层硬件体系与上层软件设计起着重要的作用。学生学好操作系统课程,不仅对学习计算机专业领域其他课程有很好的帮助,还对培养学生系统观、提升逻辑思维能力有着很强的支撑作用。操作系统课程包含的知识点繁多且分散、模块间相对独立又彼此依赖,如何引导学生发现知识的共性、 加强学生系统观的养成、培养学生在学习中善于发现问题的能力,是操作系统课程教学工作中的一大重点[1-3]

1 操作系统课程教学问题分析

1)知识点纷繁多样、概念抽象。

与程序设计或算法设计课程中知识点通常相对独立不同,操作系统课程的知识点常常具有较强的关联特征,学生在“线性”学习过程中,常常只窥探细节而忽略系统的整体结构。如何帮助学生有效地建立系统观,是操作系统课程中需要解决的重要问题。

2)算法成聚集态势,难以辨析。

操作系统课程中的算法包括处理器调度算法、死锁避免算法、内存管理算法、磁盘调度算法、文件系统算法等,对操作系统的性能、可靠性和安全性有着重要的影响。操作系统的算法原理相对简单,但成聚集态势;对于同一任务,不同算法的适用性、性能和使用场景纷繁复杂。学生理解单一算法本身并不存在太多困难,但对各种算法的分析、辨识与实践应用时常常会出现困惑和混淆情况。如何有效地帮助学生理解和应用纷繁复杂的算法也是操作系统教学中的一大难点。

3)系统性强,注重综合实践能力。

除了要求学生掌握独立的知识点与算法,还要求学生能够理解复杂的综合性问题,对操作系统整体设计有结构化清晰的认知,这就要求学生在学习完课程核心内容后,能够独立完成复杂性大作业的实现,这对学生综合运用知识能力的要求较高。通常,学生在学习完复杂的知识点后, 对知识点之间的系统性认识和综合实践能力较薄弱,因此,如何帮助学生更好地解决综合性系统性问题,也是操作系统教学中的难点之一。

2 基于金字塔原理的操作系统知识图谱构建方法

金字塔原理(Pyramid Principles)由芭芭拉·明托提出,旨在培养思考、表达和解决问题的逻辑能力,被广泛应用于商业与专业培训,作为一种通用的思维工具,强调突出重点、逻辑清晰、主次分明的逻辑思路、表达方式和规范动作,该原理适用于各种领域 [4]。在操作系统课程中,金字塔原理可以用于设计课程大纲、课前备课、课堂渗透、课后总结,帮助学生更好地理解、掌握并应用操作系统原理相关知识[5-6]。此外,知识图谱已经证实在教学过程中能有效帮助学生理解知识点,并促进以学生为中心的概念知识体系的形成[7-10]。基于金字塔原理构建操作系统课程的知识图谱,将逻辑化思维引入课程教学实践中,是新工科理念之下行之有效的系统能力培养教学改革措施[11-12]

金字塔原理的基本结构是“中心明确,结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结论后过程”[4]。将金字塔原理融入操作系统课程教学的首要任务,就是要在第一堂课的操作系统概述中,明确向学生指出该课程对于计算机专业的重要性,以及学习这门课程对于学生自身系统观培养的必要性。操作系统原理课程的主要目标是理解操作系统内部的实现。为了克服概念过多和学生短时理解困难的问题,可以采用金字塔结构将概念以体系化、视觉化的方式呈现出来,这样能够快速地和学生建立一种共识。这种体现知识体系的思维导图,也贯穿在整个课程的教学过程中。操作系统原理课程大纲及章节小结示例如图 1 和图2所示,图1是操作系统原理课程的大纲,图2是 1.1 章节内容总结。在课堂教授中,将“总—分—总” 的结构模式贯穿始终,在每章节内容展开前介绍其整体组成,在逐步细化展开内容后,及时带领学生进行总结,回顾各个知识点在整个体系中的位置和作用,以加深学生对知识体系的理解。

3 知识图谱应用案例

3.1 实践案例 1——培养学生系统观的养成

在操作系统课程中,除了要求学生掌握知识点本身,更重要的是让学生理解知识点之间的相互关联。为了加强学生对知识点间相互关系的理解,建立相应的知识图谱就至关重要。操作系统课程为培养学生系统观的养成提供了丰富的案例。以操作系统第二章进程为例,第一部分先引入进程的概念,第二部分详细介绍进程的状态转换模型及进程间的组织方式,这两个知识点随后被融合于第三部分——介绍如何通过原语实现对进程的控制。

除了章节内部知识点间存在各种连接,在操作系统各个章节之间,知识点的关联性也非常强。进程的状态转换模型如图 3 所示,这个概念在课程开展的不同时期,向学生展示的侧重点也不相同。

3a)在初次介绍进程的状态转换模型时, 重点强调进程的 5 种状态以及 5 种状态之间的转换时机,包括中间 3 种状态(就绪态、运行态和等待态)所拥有的操作系统资源情况(如 CPU、 内存等资源),让学生对进程的状态转换有一个基本认识。

3b)在之后介绍到处理器调度算法时, 再次展示这张图,强调处理器调度算法所发生的时机,是从就绪态转为运行态,也包括因抢占算法造成的运行态到就绪态的转换。

3c)在引入信号量和 PV 操作的概念时, 再次重现这张图,指出信号量和 PV 操作在进程三态模型转换中的位置。在信号量的数据结构中包含两个部分,信号量 value 的值和一个指向某 个 list 的指针。通过提问,引导大家思考,list 指向的是哪一个队列(就绪队列、运行队列还是等待队列),启发学生根据已学知识自主寻找某种连接。list 的指针所指向的队列,是处于等待态的等待队列;P 操作的作用,就是在 value 0 时,使进程从运行态进入等待态(将进程的控制块 PCB 放入 list 指向的队列中);而 V 操作的作用,就是当某个等待事件发生时(value 0), 使进程从等待态进入就绪态(将进程的控制块 PCB 从等待队列中取出放入就绪队列中)。

同一张图,在操作系统不同章节中引入,可以加强学生对知识点的复习和巩固,同时能够有效建立新知与已知间的联系,让学生理解操作系统的各个组成部分是如何系统化地结合在    一起。

3.2 实践案例 2——培养学生界定问题的能力

金字塔原理能够有效帮助学生加深对知识点的理解和掌握,并通过对新知的理解培养界定问题的能力。金字塔原理的情境分析法(SCQA 原理 )包含 4 个部分:情境(Situation)、 冲突(Complication)、 问题(Question) 和回答(Answer)。金字塔原理常用于商业问题的解决过程中, 帮助洞察所需解决问题的本质原因。SCQA 原理很适合用在操作系统教学过程作为新 知识点的导入模式。在常规教学中,通常一个新知识点的引入是从概念入手,常忽略知识点的引入动机和当时历史条件下的内在发展需求。通过 SCQA 原理可以更好地帮助学生理解为什么会引入相关知识点,如为什么会在操作系统中引入进程的概念,而后又进一步引入线程的概念;为什么处理器的调度会有 3 个层次;为什么进程间存在同步与互斥的需求等。表 1 基于 SCQA 原理, 以“为什么引入线程”为例展开说明。

基于 SCQA 引导学生逐步理解操作系统原理中各个知识点的导入模式。例如,可以先给出知识点本身,再引导学生思考这个知识点背后隐含的需求是什么。这种模块化范式除了能够快速地帮助学生理解知识点的产生背景,还可以培养学生一种界定问题的能力,使其在实践中养成发掘问题本质的科学素养。在遇到新知时如果学生能够自发性地分析新知背后存在的需求,则在需求导向下就能够进一步发散地思考该问题是否有其他的解决方案。这种思维范式也能够帮助学生提升独立思考及创新的能力。

3.3 实践案例 3——培养学生结构化分析问题的能力

金字塔原理的结构化思维范式能够帮助学生更好地理清辨识复杂的算法类别,提升结构化分析问题的能力。例如,通过在同类问题中提取出 “共性”以引导学生寻找知识点间的相关性;将不同类问题放在一起进行区分和联系,以帮助学生对多类问题进行辨识。结合 SCQA 原理,通过结构化地组织解决方案,能够有效地帮助学生理清算法策略与问题需求之间的因果关系,区别算法之间的优缺点,进一步辨识不同算法的应用场景,以便在实践中有效应用。举例说明如何应用金字塔原理呈现各种处理器调度算法之间的异同点。在介绍处理器调度算法时,引入 CPU 利用率、响应时间、周转时间、公平性等评价指标。通过对比不同调度算法(如先来先服务、最短作业优先、最高响应比优先、优先级调度算法等)在各个指标下的表现效果,能够有效帮助学生理解算法的使用场景以及为什么适合在该场景下使用。此外,可以进一步引导学生思考在不同需求下可以采取哪一种调度算法。例如,可以引导学 生站在操作系统视角,考虑系统的平均性能,提出“如何尽可能缩短进程的平均周转时间”的问题;也可以引导学生站在用户视角,从用户需求着手,提出“如何快速响应用户的紧急需求”的问题。学生通过思考来理解不同的需求会引出不同的调度策略,并且理解在实践中并不存在“完 美”的调度策略。在这个过程中,也可以帮助学生认识操作系统的复杂性,理解需要利用“有限的资源”,在“最重要的需求”下选择相应的算法策略。

在课堂教学过程中通过知识图谱帮助学生构建知识框架,引导学生自主地进行逻辑推演,辨识不同算法在使用中可能存在的各种问题,以帮助学生更好地理解和分析算法的应用场景;同时,在课堂教学中着重引导学生有意识地进行结构化思考,能够有效地培养学生结构化分析问题的能力。通过将金字塔原理融入课堂教学和课后复习中,提升学生结构化思考的意识,使学生在遇到同类问题或者其他领域的问题时,能够举一反三,自主地进行归纳思考与分析。

3.4 实践案例4——提升学生解决综合性问题的逻辑思维能力

在课程接近尾声的时候,通过综合性大作业考查学生的掌握情况,提升学生的综合思维能力(如图 4 所示)。大作业的形式涉及进程与线程管理、处理器调度和内存管理等多方面知识,需要 学生在理解各章节内容后,能够针对具体问题提出有效的解决方案并开展实验设计与实现。

此外,针对一些学生实践能力强但表达能力较弱的问题,金字塔原理也能够帮助学生进一步提升表达的逻辑。在大作业的实验报告撰写中,加强引导学生在写作中注重结论先行,以上统下的表达。在整体上把握纵向结构,突出重点;在具体内容上把握横向结构,突出报告的层次性和逻辑性。同时,通过写作加强学生的逻辑化思维能力,进一步反馈提升学生针对综合性问题的处理能力。最后,在报告中强调重点,规范格式, 这也为学生在大四毕业设计(论文)课程中打下一定的基础。

4 教学应用效果

基于金字塔原理的操作系统知识图谱贯穿应用于操作系统课程的教学中,已经在本院校进行了试点应用,通过实践证明效果良好。在学期末的学生自评中,学生评价好。在 20222023 学年,课程目标达成度问卷调查中学生自评内容见表 2,其中各项满分值10分,学生自评分数单项最高10分,最低7分。课程目标 14 的平均分分别为 9.299.319.29 9.29

学生在学期末的评教中也给予了充分肯定, 评价课程讲解清晰明了、内容突出、教学细致、 教法合理。教师能够带领学生对知识点进行系统化梳理,帮助他们建立系统观,使其对课程的理 解更加深入。学生给任课教师的评教平均分高达 99.57

5 结语

基于金字塔原理的操作系统课程教学改革实践,很好地体现了以学生为主体、教师为主导的教学思想。实践表明,通过引入金字塔原理并应用知识图谱,能够有效地帮助学生加深对操作系统复杂知识点和算法的理解,加强对综合性问题的处理能力,同时有助于提升逻辑化思维能力。将逻辑思维方法论引入教学设计与教学实践中,也为教学的科学性和系统性提供了新思路和新方法。

参考文献

[1]  邓松, 杨乐婵. 操作系统课程的敏捷式教学实践与探索[J]. 软件导刊, 2022, 21(11):  177-181.

[2]  张丽丽, 陈莉君, 梁琛, . 操作系统课程思政系统化建设与实践[J]. 计算机教育,  2022(11): 65-68.

[3]  李姗姗, 沈立, 文艳军, . 高级操作系统课程思政探索与实践[J]. 计算机教育,  2021(11): 85-88.

[4]  芭芭拉·明托. 金字塔原理——思考, 表达和解决问题的逻辑[M]. 汪洱, 高愉, . 海口: 南海出版公司,  2013. [5]  唐金萍, 耿江华. 明托金字塔原理在英语写作教学中的应用[J]. 林区教学, 2019(5): 59-60.

[6]  彭阳辉, 王同顺, 邹晖. 明托金字塔原理在英语学术演讲教学中的应用研究[J]. 当代外语研究, 2017(5): 27-33.

[7]  于俊伟, 刘楠, 马宏琳, . 基于概念知识树构建的操作系统教学实践[J]. 计算机教育, 2018(7): 104-106.

[8]  王宪莲, 安凤平, 陈贵宾. 基于优慕课平台与知识图谱的微课课程设计及应用[J]. 教育现代化, 2019, 6(79): 201-207.

[9]  范玉雷, 雷艳静, 韩姗姗, . 基于知识图谱的计算机组成原理课程植入与导入式教学[J]. 计算机教育, 2020(5): 113-117.

[10]  张勇, 杨进才. 基于学科知识图谱的高校教学模式研究[J]. 计算机教育, 2021(6): 141-144.

[11]  董跃宇, 强振平, 胡坤融, . 新工科理念下的计算机系统能力培养教学体系建设探讨[J]. 大学教育, 2021(6): 115-117.

[12]  施莹娟, 金晓康, 任明远, . 聚焦计算思维培养的问题驱动教学模式探索[J]. 计算机教育, 2022(11): 180-185.

基金项目:南京师范大学教育教学改革重中之重课题“知 识图谱赋能混合式教学的路径研究与实践” (2022NSDJG004);江苏省高等教育学会重点资助课题“在线教学质量评价体系研究”(2021-Z07)。

作者简介:段博佳,女,南京师范大学讲师,研究方向为计算机应用、人工智能,73037@njnu.edu.cn;陈波(通信作者),男,南京师范大学教授,研究方向为网络与信息安全、智慧教育,bchen@njnu.edu.cn

转自:“计算机教育”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com