操作系统课程的敏捷式教学实践与探索
2023-01-02杨乐婵
邓 松,杨乐婵
(1.南京邮电大学先进技术研究院,江苏南京 210042;2.金陵科技学院软件工程学院,江苏南京 211169)
0 引言
操作系统是计算机专业学生的核心课程,也是重要的专业基础课程[1-2]。该课程所涉及的知识面较广,包含计算机硬件及软件两方面。同时,操作系统本身作为一个发展多年的系统软件,功能强大、形式多样,教师难以在规定课时内将课程知识点完全传授给学生[3-7]。
如果按照传统教学方法对系统软件的原理、架构、设计、实现代码等方面进行全方位讲解,学生通常难以完全掌握课程的重点内容。并且,由于课程中的概念和基本原理较为抽象,例如提供服务功能的接口、系统调用过程和原理、中断技术的实现原理等,学习难度较大,会导致学生学习积极性下降。
传统操作系统课程教学强调以教学内容和教学进程为导向,以教学内容驱动教学过程,要求学生按预定的教学计划、教学进度进行学习,授课过程以教师讲授理论知识为主。然而,这种教学方式忽视了学生在教学过程中的主体地位和学生间存在的差异,未能针对不同学生动态调整教学方式。
2018 年,教育部高等学校教学指导委员会通过结合国内外教学改革实践与我国大学教学实际情况提出敏捷教学体系[8]。该体系能应对新时代多元化的教学目标和个性化的人才需求,是一种具有高度灵活性和动态适应性的教学形态[9-11]。以学生发展为中心,高效协同理论、技术、实践教学及跨校、跨界教育资源,通过多轮迭代提升学生知识学习能力。
目前,国内教学工作者已对敏捷式教学的实践过程进行研究和探讨。例如,苏海英[8]从课程内容重构、敏捷式教学处理、过程考核与学习效果评估4 个方面阐述大学计算机课程中敏捷式教学的实践过程。黄旭等[9]基于敏捷教学理念,对大学生工程实践训练模式进行探讨。李忠伟等[12]在信息安全导论通识课程建设过程中引入敏捷教学模式,对教学单元、教学内容与知识点进行合理设计,取得了良好的课程建设效果。姜屏等[13]在土木工程施工课程设计课程教学中根据敏捷教育的基本思想,采用小组形式进行课程设计,并在教学实践中采用科学合理的过程性考核方式。冯筠等[15]对程序设计基础课程进行知识图谱及能力层次构建,提出适合程序设计基础课程的一种混合敏捷教学模式。
通过分析上述方法,本文将敏捷教学引入操作系统课程教学实践中,突出追踪和响应特征,详细阐述实践细节,并重点考核评估标准的细化与及时反馈。教学实践表明,敏捷教学相较于传统教学方式,能够更好地达到操作系统的课程目标达成度。
1 敏捷教学
敏捷教学考虑了学生间的个体差异性,是一种结合知识、能力、素质等方面的教学体系[14]。既采用因人而异的教学方式和手段,又紧密结合课程教学大纲的内容;既考虑学生的个人兴趣、学习能力差异等方面,又依据学校规定的教学培养目标,制定个性化的培养方案。
该模型有效激发学生的内在动力,并且随着社会需求和相关技术的发展,通过灵活组织、整合各种教学资源,能够实现知识的不断迭代[15-16]。
随着教学逐步深入,要求学生首先从宏观角度了解教学内容,然后逐步全面理解、掌握课程知识点,并且教师会根据学生间的差异开展针对性教学,使基础相对薄弱的学生最少掌握课程的基本知识点。为了保证教学效果,敏捷教学制定全新的课程考核评估方式与及时的反馈机制[17],使教师能够得到更多的信息和时间调整教学过程[18-19],开展针对性教学。
2 教学实践
敏捷教学注重以学生为中心,强调教学体系的灵活性、整体性、迭代性及教学资源的协同性,从课程内容、教学过程、考核评估与及时反馈机制3 个方面开展操作系统课程的教学改革实践。
2.1 课程内容
由于操作系统课程的知识点较多,教师注重基本功能实现原理及算法知识点,忽略了操作系统课程的整体观,但该课程的整体观对学生理解操作系统结构、内核功能的基本原理和方法至关重要。在教学实践中发现,当学生对操作系统的整体观把握较差或对具体知识点和整体目标的关系理解不准确时,容易产生困惑。例如,当学生对Linux 系统调用执行流程的整体理解不准确时,在学习进程上下文切换与处理器状态转换知识点时,会误认为系统调用处理程序的运行在用户态,或认为应用程序执行系统调用时已经发生了进程上下文切换。
因此,在课程实践中,要求学生对操作系统在用户层提供服务的基本原理具有初步的认识和理解,并且在敏捷教学理念指导下,对系统调用的基本原理和实现过程进行反复学习、理解,同时对操作系统作为“服务者”这一本质性产生整体性认识。如此,将有助于快速推进学生对操作系统产生整体性认识。图1 为课程部分内容的训练过程。
Fig.1 Training process of some contents of operating system course图1 操作系统课程部分内容的训练过程
由图1 可见,读文件read()系统调用的处理过程为应用程序通过陷入指令进入系统调用陷阱机制,首先通过系统调用号查找入口地址表,再由入口地址寻找相应的读文件的系统调用服务例程sys_read()。通过对系统调用实现原理的反复教学,使得学生在整体理解操作系统“提供服务”这一基本原理。
随着课程内容复杂程度上升,促使学生逐步理解设备和文件管理的具体实现技术方法,具体训练过程如图2所示。
Fig.2 Iterative training process of system call(including equipment and file management)in operating system teaching图2 操作系统教学的系统调用(包含设备和文件管理)迭代训练过程
2.2 教学过程
2.2.1 突出追踪和响应特征
由于敏捷式教学理念考虑学生间的差异性,因此教师需要关注学生的个性特征,包括专业归属、知识基础、能力水平、班级规模等。在教学过程中,通过动态追踪和响应不同学生的实际学习情况,及时制定具有针对性的教学方案,既体现教学过程的敏捷性,又能够激发学生的学习兴趣、提升学习成就感。具体的,当教师追踪到学生的学习的差异性后,应当及时进行响应并调整后续教学内容及教学方式,完成针对性迭代训练。对于基础相对薄弱的学生,需要首先进行基础原理的教学讲解、完成概念性练习、基础性编码;对于学习能力较强的学生,教学过程则主要由学生提出重难点问题,教师进行针对性解答并引导学生进行思考与讨论。图3 为敏捷式教学过程的3 个组成部分。
Fig.3 Agile teaching process characterized by timely tracking and response图3 以及时追踪和响应为特征的敏捷式教学过程
(1)课前部分。课程教学采用线上线下混合式教学模式。课前部分要求学生在超星平台上观看相关课程视频并预习课程内容,教师通过后台数据监控学生是否观看视频、观看视频的时间、百分比等,然后通过系统提醒未完成要求的学生尽快完成任务。
教师通过平台设置课前练习题和讨论题,学生观看完视频后可自行练习并进行线上讨论,教师则通过后台数据了解学生课前学习的整体情况,包括哪些学生自主学习能力较强、知识基础较好等,便于教师及时掌握学生间的差异性,进行针对性的教学调整。例如,设置课前基础、思维拓展两个层次的课前预习题型,统计学生完成这两类题型的准确率,以掌握学生对课程内容的预习情况,如果学生已基本掌握基础概念知识,教师则需要调整课堂教学内容对应的授课时间,将课堂大部分时间放在重难点知识点方面。相较于传统教学方式,敏捷教学模式能够使教师实时掌握学生的预习情况,及时调整教学方式,设置课堂问题、演练的题目及难点的讨论内容。
(2)课堂部分。教师在课前针对课程重难点知识设计教学内容并抛出问题给学生自行解答,课堂中根据课前学习情况选择学生进行回答,以掌握学生的预习情况。同时,考虑到学生学习效果的差异性,反复对基础较为薄弱的学生讲述基础原理,指导其完成基础练习题;对于学习能力较强的学生,则要求其完成具有一定难度的综合题。此外,选择任务完成最快、最准确的学生上台对练习题的计算过程进行演示,锻炼学生的语言表达能力。
(3)课后部分。课后通过线上线下教学方式给学生设置适当难度的作业和任务,以巩固课堂学习所学知识点。教师应该根据实际教学情况设置作业难度,如果作业设置的难度较小,则失去考核的目的,但难度较大则会使学生产生挫败感。因此,合理设置作业难度能使学生产生成就感,成就感是学生学习兴趣的源泉,也在一定程度上体现了敏捷教学的核心理念。
2.2.2 实践教学的敏捷性
在实践教学过程中,教师通过设计影响课程目标达成的关键实践内容,动态跟踪实践教学产出、学生对课内实践练习操作的效果。
对实践教学内容进行讲解和演示,根据学生各方面学习情况的差异性布置不同难度的课内实践练习。具体的,可将课内实践练习分为基础练习和综合练习。学生首先完成基础练习,然后完成进阶综合练习,或根据自身的实际情况只选择其中一种进行练习。教师动态跟踪学生的实践操作情况,针对不同学生间的差异性,定制个性化教学方式。
2.3 考核评估与及时反馈机制
由于操作系统课程考核不仅包括期末试卷成绩,还涉及课后单元测试、期中考试、平常实验考核、实践报告撰写和课内课后作业的具体表现。因此,应针对各方面分别制定评价标准,并折算成分数以体现课程目标达成度。例如,课内实践综合练习的完成时间越短、完成的准确度越高将获得更高的分数;学生实验报告的内容越充实、格式越准确则评分越高。
此外,还需要细化考核评估标准和注重评语反馈,及时将课后作业、实践报告中存在的问题反馈给学生,以便于学生及时了解自身不足,促使其在后续学习过程中进行改进。
3 教学效果
为了量化操作系统课程的敏捷式教学效果,通过整理和分析该课程的工程认证教学材料,包括各项成绩记录和总评、课程目标达成度计算表和评价报告、课程目标达成学生自评表等,对教改前后的课程期末总评成绩及课程目标达成度进行比较(见图4)。其中,期末总评成绩由期末试卷成绩、课堂测试、期中考试、平常实验考核、实践报告撰写和课后作业组成。采用教学改革实践的班级称为教改班级,人数为31 人;采用传统教学方法的对比班级,人数为30 人。并且,两个班级入学的高考成绩分布基本相同,教材、教学大纲和考核方式均一致。
由图4 可见,敏捷教学模式对学生的能力水平及知识点的掌握程度均具有一定程度的提高,教改班级的不及格的人数占比为0%,80-89 分的人数占比为41.8%,90 分以上的人数占比为9.7%;传统班级60 分以下的人数为4 人,占比13.3%,70-79 分与80-89 分的人数占比分别为26.7%和33.3%,90分以上的人数占比为0%。
Fig.4 Comparison of proportion of people in each score section of the final general evaluation results of the teaching reform class and traditional class图4 教改班与传统班期末总评成绩各分数段的人数占比比较
接下来,对课程目标达成度方面进行比较(见图5)。其中,根据课程内容可将目标分为:①深入理解操作系统对进程、存储器、外围设备和文件管理的相关原理;②理解操作系统管理功能的关键算法;③具备计算机操作系统处理问题的思维模式;④具备分析现行操作系统的基本能力。
由图5 可见,教改班级的课程目标①-③的达成度在81%~83%之间,课程目标④的达成度为77%;传统班级课程目标④的达成度最低为69%,课程目标①和③的达成度分别为72%和76%,课程目标②的达成度为80%。
最后,从课程目标达到程度、课内练习是否有助于课程理解两个层面设计指标参数表(见表1)。
将指标参数表分发至教改班级的学生进行打分,然后对打分数据进行归一化处理形成自评表进行汇总分析。其中,课程目标达到程度评分为“完全达到”的平均分约为92 分,占比约为90%;课程目标达到程度为“基本达到”的平均分约为87 分,占比约为10%,选择课内练习有助于课程理解的平均分约为95 分,占比约为90%,选择课内练习部分有助于课程理解的平均分约为85分,占比约为10%。
Fig.5 Comparison of achievement degree of curriculum objectives between teaching reform level and traditional level图5 教改级与传统级各课程目标达成度比较
Table 1 Quantitative parameters of agile teaching effect for operating system course表1 面向操作系统课程的敏捷式教学效果量化参数
4 结语
本文提出基于敏捷式教学的操作系统课程教学模式,实现学生和教学效果的互动反馈,显著提高操作系统的教学效果。该教学模型强调学生的主体地位和个体差异性,突显课程的整体观念,注重教学体系的灵活性、整体性、迭代性及教学资源的协同性。
教学实践表明,敏捷教学理念对操作系统课程的教学改革实起到了良好效果,但将其真正融入操作系统课程教学中还需要教学工作者进行更深层次的探索和实践。下一步,将持续加强操作系统课程敏捷教学的教学效果反馈机制,通过大数据对敏捷教学的效果进行定量分析。