程 葳
(北京城市学院信息学部,北京 100083)
新冠疫情暴发使各高校线上教学成为常态,教师如何利用好先进教学工具、创新网络学习环境、营造良好学习氛围,成为保障线上教学质量的重要课题。“沙龙”是一种以各种话题进行讨论的集会活动。之后该形式也被引入到现代高等教育中,如学术沙龙等。目前,部分网络教学平台(如优慕课)将这一形式作为随堂教学的工具,为增进线上教学过程中师生、生生互动提供了新的可能。
《操作系统》课程是计算机类专业的必修课程,由于课程理论部分主要讲授操作系统内核知识,内容抽象,不易理解,因此需结合实践教学,在实验中培养学生分析解决复杂工程问题的能力。但是,线上实践教学由于隔着屏幕,师生、生生互动缺乏,授课效果难以保障。因此,针对教学中的实际痛点,引入恰当的网络互动工具,营造学生自主学习环境,激发学生学习内驱力,促进课程目标的较好达成,就显得十分必要。
《操作系统》课程实践主要以程序设计为主,教师需要通过不断了解学生实验状况,监督每位学生的完成进度和完成效果,发现学生操作中的问题,并帮助解决。但是,在线上教学平台中,上述过程的完成成本较高,很难达到以往线下的教学效果。主要问题表现为:
1.学生完成实验的进度差异远高于线下。由于线上教学无法保证每位同学的学习环境,大部分学生行动比较懒散,完成实验的进度明显慢于线下。由此同学间能力差异也更为显著。自律较好的学生进度能够和线下基本保持一致,但大部分学生会有不同程度的滞后。在这种情况下,如何在教学过程中兼顾每位同学是个较大的问题。
2.无法快速掌握全班同学的情况。线上教学的另一个难点是教师不可能同时监控到每位学生的进度。在线上教学,教师只能通过不停地询问学生进展情况,请求学生将实验截图发给她,这种方式首先干扰到学生的实践行为,不停地催促打断了学生思考和解决问题的进度,其次,占用大量课程时间和教师精力,教师往往只能看到积极同学的回应,而对不积极同学容易忽略。
3.生生互动受到很大限制。线下教学中,学生之间的相互学习与帮助对学生提升实践技能、顺利完成实验有非常重要的帮助。但是在远程教学环境中,生生互动也受到很大限制,大部分学生产生问题后没有方便的渠道与其他同学分享讨论问题。少部分同学甚至可能直接拷贝源代码执行了事,由此降低了实践教学的效果。
线上直播教学是一种新形式,需要教师充分研究其特点,探索使用与之相适应的教学工具和教学方法。由此,本着“以学生为中心”的思想,将网络教学平台的“沙龙”工具引入《操作系统》实验课堂,探索在新形势下的课程目标达成方法。
这里的“沙龙”是指优慕课等网络教学平台中的“沙龙”工具。教师可以在上课期间在手机端或电脑端随时增加沙龙,也可以提前设置好,在上课时间随时打开。其与普通“讨论区”工具的类似之处在于学生可以在其中发表言论或上传图片,所有学生均可见,营造了一种良好的公共区域相互监督效果,有效避免同学间的抄袭。但和“讨论区”不同的地方在于,每位学生在一个沙龙中只能发言一次。因此通过查看发言数,教师就能及时了解到参与沙龙的学生人数。
将“沙龙”工具与腾讯会议直播空间相结合,教师可以及时对每位学生上传的结果给予第一时间响应,让学生感觉老师是无时无刻关注他的。同时,对学生的点评也能被其他学生听到。这样通过对学生思路的闪光点给予表扬与推荐,激发学生间思维互动;通过及时指出问题,防止类似错误再次发生。因此,“沙龙”改变了之前教师带着学生做实验的模式,教师的注意力在关注学生作品和启发学生思维,通过不断的师生互动、生生互动最终走向正确的实验结果。真正做到了学生主体、教师主导的课堂组织新模式,有效缓解上述线上实践教学中的问题。
1.基于沙龙的生生互动。沙龙模式对同学间相互借鉴成功思维很有帮助。在沙龙的组织过程中,教师的及时点评非常重要。教师及时发现学生中的思路闪光点,并推荐给其他同学,这样有利于学生间思维的相互激发,产生更多、更好的答案。同时这一过程中也建立了公共区域的相互监督效用,可以有效抑制“复制-粘贴”的抄袭行为。
2.基于沙龙的师生互动。师生互动是沙龙得以发挥效力的重要环节。教师在开启沙龙的过程中,一定要不断和学生互动。一方面教师对每位学生的及时回应可以有效激发学生的热情和参与度;另一方面教师与学生的探讨对其他学生也是良好的示范与督促。此外,沙龙的颗粒度也是设计中需要考虑的问题。如果一个沙龙的任务过大过难,学生需要较长时间才能完成和呈现结果,则教师也无法及时了解学生们遇到的问题。在程序设计的过程中,我们可以将程序的实现过程设计成一个不断优化和改进的过程,以此设计若干个沙龙,从而让师生真正互动起来,引导学生在这一过程中进行分析、评价和创新等高阶思维。
3.沙龙对学生间进度差异问题的有效解决。在这里,承认远程教学过程中势必带来学生完成实践任务的差异度,关键问题是能够让各层次的学生都能感受到教师的指导,并能有所收获。沙龙平台为教师这一目标的达成提供了有效支撑。教师通过随时观看沙龙发言学生人数,可以了解学生实验进度。在有一定数量学生完成任务的时候就可以开启下一任务。因为新沙龙的开启并不影响学生在以往沙龙中的发言。因此,学生可以按照自己的进度逐一完成任务。教师通过不断监测,随时查看各个沙龙的学生结果,对每位上传结果的学生都给以第一时间回应,虽然学生间进度存在差异化,但教师仍能关注到每位学生。同时,学生也能看到自己的进度处于班级什么水平,激励学生尽快完成任务。
通过以上讨论可以发现,“沙龙”工具在实践教学应用中的主要优势,是可以通过在一次课程中构造多个颗粒度较小的“微沙龙”,满足不同程度学生的学习需求。因此,将其应用于混合式教学,可以形成“微沙龙+三段法”的新型教学模式。以《操作系统》课程为例,具体阐述其实施过程。
图1 “同步互斥算法实现”实验在《操作系统》课程中的位置与目标
进程管理是《操作系统》课程的重难点,特别是进程间同步互斥问题,教材中只给出了问题的解决算法。为了提升学生的工程实践能力,在算法讲解之后可补充用多线程程序实现算法的实验,以加深学生对并发、同步、互斥等操作系统核心概念的理解,同时锻炼和提升学生的实践应用、问题分析、建模和算法实现等能力。但是该实验所需多线程编程知识,学生前期并没有基础,因此即使在线下教学,也面临课程内容多、难度大,不同层次学生的完成度不同等诸多问题。
“同步互斥算法实现”实验教学共4学时。如图1所示,其前面有理论教学,完成进程同步与互斥等概念、以及基于信号量的同步互斥算法的学习。本次课程要求通过实验,应用多线程程序,实现基于信号量的线程同步与互斥算法,验证操作系统相关结论,加深对进程、线程、并发、同步、互斥、通信等知识的理解,掌握在Linux操作系统中进行C程序设计的实践技能。课程的教学目标包括知识、技能和价值观三个层面。
针对上述课程目标,我们将原有课程中的两大任务,拆分为若干小任务。然后根据各小任务的难度和重要性分成基础、重难点和挑战三个级别,分别放置在课前、课中、课后三个阶段去完成。
混合式教学的好处是可以将课前和课后学生学习时间都充分利用起来。大部分实验指导书中的实验内容放在课前(难度较低部分)和课后(难度较高部分),让学生自行完成。而课中主要是对课前任务点评、重难点实践案例讲解和强化练习。如表1所示,一次教学过程学生需要完成两次实验报告——课前实验报告和课后实验报告,教师也需要批阅两次实验报告。但是课前批阅实验报告,可全面掌握学生的问题和疑难点,使得课中宝贵时间更聚焦解决学生的实际问题。同时,课中实验可以直奔课程重点,保证课程目标的全部达成。最后,提升能力和高阶思维的实验放在课后完成,教师下次课程点评,使学生有更为充分的时间独立思考,有助于提升思维的层次。
具体课中教学包含以下五个环节。
1. 课程导入
明确课程学习目标,针对课前实验中部分学生出现的提前进程结束问题,回顾线程知识点,重点强调线程与进程的区别。
2.作业点评
结合实验指导书,总结多线程程序设计的经典结构,解决课前实验报告中第一大题(实验指导书提供代码)中的主要问题。然后重点讲解课前实验报告中第二大题(需要学生自行编写代码)的正确实现方法。结合两位同学的解题过程和代码,讲解其中的优点和问题。
3.多线程编程的高阶用法
以两个微沙龙组织教学,在课前作业的基础上提升问题解决的难度。
表1 混合式教学“三段式”教学设计
图2 “微沙龙”的行程
【微沙龙1】传参线程。
练习向线程中传递参数的基本方法。本沙龙仅需建立一个子线程。重点考查学生对线程创建、分离、销毁全过程的掌握情况,同时培养参数传递小技能。
【微沙龙2】创建多线程。
练习利用线程数组创建多个线程。
本例在沙龙1代码的基础上稍加改动即可实现。重点让学生通过实验结果对线程并发有更为深入的理解,为后续多线程互斥程序开发奠定基础。
4.基于信号量的同步互斥问题解决
同样以两个微沙龙组织教学,每个沙龙均包括算法复习、算法实现示例教学和沙龙任务三个部分。
【微沙龙3】基于信号量的互斥问题
本例重点让学生练习信号量基本函数的使用方法。在讲解对临界资源管理过程中,引入思政元素,引导学生思考平时生活中的平等、公正和友善等社会主义核心价值观。
【微沙龙4】基于信号量的同步问题
本例重点让学生练习如何用信号量解决同步问题。由于同步和互斥在算法实现上是类似的,所以原设计为课后拓展提高内容,放在课上主要提供给进度较快的同学。
5.课程总结
总结课程重要知识点,布置课后实验报告。共分为四个部分。第一部分为课上实验记录,以此检查学生课上实验完成情况,并督促课上工作较慢同学课后完成剩余的实验;第二部分基础练习,是实验指导书中未能在课堂上完成的练习内容,均具有一定难度,如果学生能够在完成过程中认真思考,对后面完成挑战题具有较大帮助;第三部分课后练习,是课堂练习的变形和深化,难度与课堂练习基本相当,学生课堂练习完成度较好的情况可以顺利完成本部分;第四部分挑战练习是二选一,均为复杂的同步互斥问题,具有一定难度,有助于帮助学生提升思维能力,培养创新思维。
图3给出了上述教学过程各阶段时间分布的肯特图,从中可以看出,教师根据学生完成情况,逐步打开沙龙。这样,进度较快的同学不必等待,可以继续完成下一任务;而进度较慢的同学仍旧可以在以往沙龙中提交结果。从学生视角,沙龙是根据其学习进度依次展开的,营造了一种类似于自我学习的个性化场景。而进度慢的学生可以在这一过程中,可以感受到来自班级适度紧张的学习氛围。从教师视角,可以同时监控多个沙龙的学生进展,对每位上传结果的学生都给予回应。这样,虽然学生间进度存在差异,但教师仍能方便地关注和指导到每位学生。
图3 教学过程各阶段的肯特图
表2给出了课后对案例中各“微沙龙”的统计数据。针对性较强的沙龙,学生的完成度也较好。微沙龙1持续的时间最长,说明远程状态下带动学生完成实验,确实是一件非常困难的事情。这也启发我未来需要更深入研究沙龙的颗粒度和首个沙龙的难度。可喜的是,微沙龙2的效果较好,说明系列微沙龙的逐步启动对班级学生造成了一定的紧张氛围,激发了行动迟缓的学生,同时也使动作较迅速同学更乐于完成任务,开启下一微沙龙。对于完成度不好的微沙龙3和微沙龙4,本案例通过重新调整和设计课后实验报告予以强化。
表2 微沙龙统计数据
本次课程采用的线上线下混合式三段设计和微沙龙式课堂实践教学,使得91%的学生进行了课前预习并完成实验报告,87%的学生参与课上实践过程并至少完成1个案例的实现。教师能够及时掌握班级整体实验完成情况,督促学生跟上实验进度,也为部分反应较慢学生留出了一定的自由空间。教师能够及时掌握学生作业完成情况,对学生作业给予及时的点评。同时,学生之间也可以相互了解进度和实验情况,有利于自我督促和改进问题,提升了远程实践练习的质量和效率。此外,本次课程的课后作业还采用师生互评方式,98%的学生参与本次互评,提升学生课堂参与的主人翁意识,同时培养了同学之间的团队意识和友善互助的社会主义核心价值观。
关于本次案例教学的总结与反思有以下几点:
1.课程将部分基础实验放在课前预习实验作业中,可以使教师在上课前有的放矢地准备教案,特别是对必要的理论知识给予复习,实验技能讲解更具有针对性,能够在课程中进行高阶思维能力的培养与训练。
2.课程采用微沙龙式实践教学模式,是对线上实践教学的一种有益探索。微沙龙可以使教师及时了解学生练习情况。比如本次教学,第1个沙龙任务完成时间较长,因为相当一部分学生没有做好课上实验准备,因此教师在这个过程中给予了一定的引导和鼓励,鼓励学生可以将有问题的实验结果放在聊天区,帮助这部分同学解决问题。之后在沙龙中出现第一个结果后,很快就有同学上传结果。目前沙龙还不支持显示未提交答案的学生名单,如果能有该功能,就可以及时提醒未交答案的同学。
3.微沙龙的优势在于可以使同学间相互查看过程和进度,同时也避免了抄袭现象。但是也看到当前学生具有较强自尊心,因此部分出现错误的学生往往会撤销自己的作答。
4.沙龙的颗粒度设置是未来需要重点研究的问题。本次课程沙龙颗粒度较粗,造成进展明显缓慢。特别是第一个沙龙的完成耽误了大量时间,未来还需要进一步优化与改进。