Linux 是计算机学科的一门非常重要的课程,是操作系统课程的延伸和升级,也是人工智能、大数据应用、嵌入式开发、计算机网络管理、虚拟现实等课程的基础和支撑。Linux 课程的重要性还体现在其在开源软件、网络服务等方面的统治地位。因此,提高 Linux 课程的教学水平和学生的学习效果也有利于促进关联学科的学习。
新工科背景下的 Linux 课程是一门需要很强动手能力的实践性课程,需要在理解知识点的基础上,通过实际操作,去验证、思考和扩展,从而增强学生的操作管理 Linux 系统的动手能力、分析解决工程问题的业务能力和开拓创新的科研能力。因此,需要改革和创新 Linux 课程的教学模式,真正让学生学以致用,知道为什么学,学了有什么用。在教学过程中,因为不同学生的学习能力和基础不同,还需要解决的一个重要问题就是因材施教。如何根据学生的学习情况和学习行为的分析,挖掘出影响学生学习的因素,规划出学生学习的个性化方案,成为一个重要的研究方向。
一、Linux课程教学存在的问题
目前在 Linux 课程的教学实践中,依然存在着下面一些问题。
(1)学生入门难。学生对于 Linux 操作系统接触少,加之 Linux 操作系统与 Windows 操作系统、手机操作系统等差别较大,还存在很多不同的版本,转移到 Linux 操作系统需要改变操作习惯和使用方式,具有一定的入门难度。
(2)知识点散且多,容易遗忘,学生自主学习积极性不高。知识点的学习需要抠细节、重关联、常思考,部分学生不愿意深入学习和思考。
(3)学生看书多,动手少。Linux 课程需要花费大量的时间进行动手操作和反复练习,如 vi操作、 shell 命令等,缺乏有效监督的情况下,大部分学生不愿意花大块的时间操作练习。
(4)考核方式主要是作业、实验和考试,考核结果仅仅是为了给出学习结果的评价。没有充分利用量化的考核数据,进行挖掘分析,并与学习数据相结合,给出每个学生的学习画像和学习建议,同时进行监督实施。
(5)没有实施个性化教学。由于学生的知识基础和学习能力参差不齐,对所有学生采用相同的教学方式和教学进度,往往得不到最佳的教学效果。
(6)缺乏与实际应用相结合。知识在于应用,学生学习课程知识点后,往往会迷茫,不知道自己学的东西到底有什么用。知识点的教学必须和工程问题相结合,才能提高教学的有效性,更容易引起学生的兴趣,拓宽学生的思路。
二、Linux课程教学设计
2.1 教学设计目标
Linux 课程的设计主要围绕 3 个层次的目标展开教学活动。
第 1 个层次的目标是满足课程的教学任务。吉林大学 Linux 课程的课程任务是“一传授,两培养”。一传授是传授 Linux 操作系统的基本理论、基础知识和基本技能。两培养指的是通过实践能力和创新精神的训练,培养学生的专业能力、基本工程素养和良好综合素质,培养学生结合经济、环境、社会、法律等综合因素分析和解决相关复杂工程问题的初步能力。
第2个层次的目标是实现课堂目标。教学包括教和学两个方面,不是单方面灌输或接收,因此保证教和学之间的互动畅通是Linux 课堂教学的第 1 个目标。第 2 个目标是构建“教学—实践—考核—教学”的闭环,让知识在不断流动中被理解吸收和体系化。第 3 个目标是在课堂上培养学生的学科情感,传递正确价值观。
第 3 个层次的目标是学生的质量目标。教学的成果要体现在学生素质的提升上,在著名的OBE(Outcomes-based Education,成果导向教育)方法中,就是强调以学生为中心,以质量为导向。Linux 课程的学生质量目标主要包括两个方面:知识和能力,即一方面要掌握 Linux 课程所有的知识与技能、过程与方法;另一方面要具备教学任务中要求的两种素质和能力。
2.2 教学设计架构
Linux 课程的设计是一个以学生知识、技能、价值观获取为中心,以工程实践为驱动,以监督、考核为手段,以 IT 新技术和认知学理论为支撑的反馈式的持续改进教学体系,如图 1所示。
Linux 课程属于计算机学科,天然具有采用IT 新技术的基础。基于 AR、 VR、云计算、大数据、 AI 等 IT 新技术,实现抽象知识的直观化、作业和考试的电子化、实验的云端化、数据收集的自动化和数据分析的智能化,促进 Linux 课程教学的不断发展和持续改进。
2.3 教学设计关键内容
2.3.1 教学模式的多元化
Linux 课程的教学设计首先要解决的是教与学的问题,即教师的教学方法设计和学生的学习模式约束。教师的教学是主动实施的过程,这个过程不应该是僵化的、固定的,而是因时而变、因环境而变的,是一个不断发展、持续改进的过程。
在新工科建设背景下, Linux 教学模式应该是多元化和层次化的。
(1)加强课程与工程化问题的结合,以工程化问题驱动和验证所学的 Linux 知识和技能。激活学生的主体意识,调动学生参与的主动性、积极性和创造性。
(2)为学生提供多种获取知识的渠道和多种知识的展示方式。突破传统的 Linux 教学中教师和课本两个知识渠道,基于互联网提供更多的知识获取方式。突破板书、 PPT 的展示方式,引入音频、视频、动画、3D、VR、AR 等多种媒体技术。
(3)消除教师与学生之间的沟通障碍,以沟通结果校正教学方向。大学与中小学不同,面对面沟通更少,因此,可以引入社交软件、视频会议、 BBS 等作为辅助的沟通工具,采用一对一、一对多的多种交流方式。
(4)采用“共性 + 个性”的教学方式。最好的教学方式应该是完全的个性化教学,量身定制的教学进度,然而在大学的教学体系中,这个是无法做到的,因此要以共性教学作为基础,个性教学作为辅助。
(5)习武先习德,学艺先学礼。打破工科教学只注重传授知识、不注重传递道德的教学模式,将正确的价值观融入教学活动中,使“知识向善”。
(6)使用科学化的学习监督。根据多年的教学经验和相关的科学研究,多数学生的学习并不是完全自主、自律和有规划的,要采用科学化的手段对学生的学习进行约束和督促。
2.3.2 考核方式的数字化
Linux 课程的考核包括知识记忆考核、知识应用考核和工程实践考核。这些考核应该从传统的人工考核方式向电子化、数字化、自动化、智能化方向转变。
(1)作业电子化。采用数字化和电子化的作业形式,以作业库为基石,承载选择、填空、判断、问答等多种题型,满足教师的作业布置和学生的自我练习要求。
(2)实验平台化。建立专门的云端实验平台,实现更有效的实验管理,提供随时随地可用的、可定制的个人实验环境,并可对实验结果进行自动评判。
(3)考试自动化。作为阶段性学习效果的评价手段,考试必不可少。基于规则的自动组卷、答案的自动匹配都可以为提高考试效率助力。
(4)数据分析智能化。作业电子化、实验平台化、考试自动化为数据分析打下了数据基础。通过建立题目和知识的映射,采集作业、实验、考试等数据,应用数据分析和挖掘技术,为每个学生建立学习成果的自画像。
2.3.3 认知科学的融入
虽然人类的学习过程是一个复杂的神经元变化过程,但也是有其规律存在的,这便是认知科学。在教学过程融入认知科学,有助于提高学生的学习效率。
(1)利用认知规律,调整教学形式。符合认知规律的教学,可以激活学生思维,不断提高学生的创造性思维能力。
(2)增强知识记忆。提高学习效率的一个关键因素是记忆力。通过认知科学的规律,合理安排教学、作业和考试,将学生的瞬时记忆逐步固化。
(3)培养学生的形象思维、直觉思维和辩证思维。在 Linux 课程的教学中,存在着两个难点,阻碍着学生对知识的吸收。一是超现实和抽象教学内容与形式化教学的矛盾;二是知识的发现过程与教材知识演绎方式的矛盾。需要根据认知科学的规律,合理设置教学内容和教学方式,培养学生对知识点的形象化理解能力和知识体系的归纳能力。
三、Linux课程教学实施
3.1 线上线下结合
线下的交互多数时候是一次性教学,讲授过程结束后不再重复,由于遗漏或遗忘会造成知识点掌握的缺失。录制线上视频和制作知识点动画、 3D、 VR 演示,可以让学生随时随地观看老师对于知识点的讲授,查缺补漏。
这些线上资源不直接用于线上教学,而是作为线下教学的辅助,为线下教学提供可重复、可定制的教学资源和实时性的学习反馈。
3.2 教学过程与认知规律结合
人类的学习过程是有一定的科学规律的。代表性学说有格式塔学派的顿悟说、布鲁纳的认知发现说、奥苏贝尔的认知同化说、加涅的累积学习说等。这些学说中存在着一些共同点。
(1)直观的认知对于学习非常重要。
(2)学习是知识的迁移。奥苏贝尔将学习分为机械学习和有意义的学习。机械学习就是反复背诵、不加理解的学习。有意义的学习是在已有认知基础上构建出一种新的知识结构。有意义的学习需要具备两个条件:学生有学习的意愿;新知识与旧知识之间有逻辑关联。教学的过程就是要帮助学生建立这种逻辑关联,形成新的知识体系。
(3)学习需要制订目标。
(4)学习需要监督,可以是自我监督、教师监督或制度监督。
根据以上结论,在 Linux 课程的教学中应进行教学方式的改进。
(1)寓教于乐。通过Linux操作系统上的一些有趣的小游戏,如推箱子等,增加学生对Linux操作系统的熟悉感,这正如很多人对Windows的熟悉来自于扫雷、卡牌等游戏一样。
(2)对于知识点的讲授,线上视频中侧重于操作的演示,学生可以照猫画虎,有一个直观的印象。线下课堂教学中,侧重于知识点背景介绍和原理分析,做到知其然,知其所以然。
(3)与其他课程结合,在知识迁移中掌握新知识。例如,将面向对象程序设计、数据结构等课程的程序代码迁移到 Linux 操作系统中,实现软件开发能力的一种迁移,同时也掌握 Linux 操作系统下的程序开发方式和过程。
(4)对于各类学习任务和实践任务,如课后作业、分组任务、在线考试、工程题目等,设定完成时限,监督其完成情况,通过管理工具对未完成学生进行催促。
3.3 知识学习与记忆规律结合
根据艾宾浩斯记忆曲线,遗忘率随时间的流逝而先快后慢,只有通过对所学知识进行及时复习,才能避免遗忘。教学过程中,通过限时的线上监督复习和作业,保证学生及时复习。
在 Linux 课程教学中,可以采用 3 个层次的遗忘对抗训练(图 2)。
3.4 知识讲授与工程应用结合
在 Linux 课程的教学中,可结合的工程应用包括以下几类。
(1)服务器日常运维,包括使用 shell 命令完成用户管理、文件管理、 RPM 和 YUM、进程管理、用户管理、任务调度、磁盘分区、设备挂载、网络配置,以及编写运维 shell 脚本等。
(2)桌面应用与 Web 应用开发,包括C 语言、C++ 语言、 Java 语言、 Python 语言等应用程序的开发、集成开发环境的安装和定制、开发版本的管理等。
(3)网络管理,包括使用网络命令和网络工具进行简单网络管理、网络诊断和网络安全防护。
(4)网站维护,包括大型网站架构设置、网站状态监控等。
在 Linux 课程的教学中,根据知识点的脉络和教学进度推进,应采用由浅入深、由简单到复杂的工程应用结合方式。
(1)对于服务器的日常运维,每周设定一个分组任务,不仅涵盖已讲授的命令,而且略微有知识点深度和广度的扩展。最后完成一个综合性的运维管理任务。
(2)对于桌面应用与 Web 应用开发,采用知识迁移的方式,将面向对象程序设计、 JavaEE、大数据分析等课程的应用程序迁移到 Linux 系统中。每类应用程序选择一个,作为主题讨论和分组任务完成。
(3)对于网络管理,从典型网络故障和网络安全问题分析入手,训练学生通过 Linux 命令和工具分析和解决简单网络故障和网络安全问题的能力。
(4)对于网站维护,由教师提供网站的源码和数据库支撑,学生在 Linux 系统下完成网站的部署和状态信息收集。
3.5 Linux 云实验平台构建
传统的 Linux 实验方式存在时间地点固定、安装部署麻烦、实验数据收集困难等问 题。在 Linux 课 程建设中,我们基于虚拟化技术构建了一个Linux 云实验平台,为学生提供随时随地的云实验服务,给予学生更多的自主实验机会。在该平台中所有的操作都在为学生分配的虚拟机中完成,不但实验环境安全,而且可以保存学生所有的实验数据。
在虚拟机的软硬件平台上,开发了一套Linux实验管理系统,具有如下功能。
(1)教师与学生管理。系统直接与学校的教务管理信息系统对接,可以从中直接获取教师信息、选课学生和教学安排。
(2)实验题目分发。在指定的分发时间内,将实验题目分发到所有学生的虚拟机中。
(3)实验提交判分。对于实验结果的判定采用两种方式:第一种是痕迹判定法,针对命令操作题。每个命令的执行都会在 Linux 系统中留下痕迹,通过对特定痕迹的检验,确定题目完成程度。第二种是用例测试法,针对 shell 编程题。在给定测试用例下,执行提交的 shell 脚本程序,根据执行结果给出分数。
(4)分数导出。可以导出满足教务管理信息系统要求格式的成绩单,也可以针对单个学生导出其多次实验的成绩。
Linux 云实验平台由 3 个层次组成,如图 3所示。教师、学生和管理员可以通过校园网连接到 Linux 云实验平台,支持平板电脑、 PC、智能手机等各类终端。平台支持两种连接方式:工具连接和Web连接。远程登录工具可以使用PuTTY、 PowerShell 等。Web 连接由平台提供的WebSSH 网页连接。
3.6 AI 驱动与个性化培养
衡量一个教学方法的好坏,对学生学习质量的评价是关键,然而,对于教师和学生来说,除了得到评价结果之外,还需要一个关键的分析,分析教和学中的哪些行为和因素造成了这个评价结果,即构建学习行为与学习效果之间的内在联系。这种评价和分析,就是学生的学习画像。
随着 AI 技术、大数据技术、线上教学等技术的发展,用 AI 驱动学习画像的构建成为可能。利用学习画像以可为学生量身定制个性化的学习方案,让学生根据自身的学习情况进行个性化学习,解决因材施教问题。
在 Linux 课程教学中采用的个性化培养方案如图 4 所示。
四、实施效果
实施新的教学方法两年来,成果显著,成绩稳步提高。作为对比,表 1 给出了实施前后的成绩对比。2019 年由于疫情原因,学生没有到校,实施远程教学,不计入统计。
实施新教学方法后, 90—100 的高分段人数显著增加, 60—69 的低分段人数显著减少,这说明通过兴趣驱动、重复记忆、监督学习、线上线下结合、与工程应用相结合、云实验平台、个性定制等手段,是可以改变学生的学习习惯和提高学习效率的。
五、结语
教学的过程不仅仅是一个简单的知识传递过程,更是要充分结合各类人文科技和自然科学技术,综合实施的一个多层次传授学习、多角度反馈、再传授学习、再反馈的一个循环的、不断改进的过程,这就是本文中 Linux 课程设计的一个核心思想。
在实施 Linux 课程设计的过程中,还存在着一些需要进一步解决的问题,包括思维训练的方法、与真实工程需求对接、实验和工程效果的全过程评估、电子化作业的防作弊等,这些将在近期逐步开展研究。
在未来的教学工作中,我们随时关注人类认知学和数据分析相关领域的发展,将其最新成果与教学实践相结合,以科学驱动教学。
(来源:转载自《计算机教育》,2022年第4期;作者:李兵、郭东、康健等)
广州理工学院 教师教学发展中心