1、98科技视界Science&Technology VisionH科学课堂Science Classroom引言Linux 操作系统是一个支持多用户、多任务的开源操作系统,在服务器、嵌入式系统等领域广泛使用。在计算机类专业中将 Linux 操作系统作为操作系统原理课程的实验配套或后续课程广泛开设。为了提升教学质量,开展了大量的教学改革工作1-5。然而,随着西方对我国信息技术领域的封锁,鸿蒙操作系统、麒麟操作系统、欧拉操作系统等国产操作系统顺势而为,在国内推广应用效果良好。因此,如何培养国产化操作系统编程实践人才成为我国计算机类专业教学改革的重点6-7。在贵州大学面向计算机学院、软件学院,面向计算
2、机科学与技术、信息安全等多个专业开设“Linux 系统编程”专业选修课程,在不同的专业有不同的侧重点。本课程是面向大三年级的本科生,是学生编程实践能力培养体系中一门非常重要的课程,体系如图 1 所示。图 1Linux 系统编程课程在编程实践能力培养体系中的作用近年来,课程以编程实践能力培养为导向,采取线上线下混合教学模式,加强编程实践能力培养,开展教学内容改革。课程以学生为中心为学生提供更全面、更多元、更具挑战的进阶学习方式,从多个维度提高学生的编程实Linux 系统编程课程改革与实践申国伟郭春崔允贺蒋朝惠*(贵州大学 计算机科学与技术学院,贵州贵阳550025)【摘要】针对传统的 Linux
3、 系统编程课程中学生编程能力训练不够的问题,Linux 系统编程以编程实践能力培养为导向,以国产化技术为主线融入课程思政内容,融合产学研合作资源,采取线上线下混合教学模式,加强学生在国产 Linux 系统 openEuler 上的编程实践能力培养。为学生打造“全开放的 Linux 系统编程实践空间”,学生充分利用自由碎片化时间加强学习,参与课程教学、实验和实践环节。以学生为中心,为学生提供更全面、更多元、更具挑战的进阶学习方式,从多个维度提高学生的编程实践技能,帮助学生建立操作系统理论联系实践的知识体系。开发的在线课程选课人数超过 1.7 万人,开发的实践课程被 10 余所高校使用,课程应用推
4、广效果良好。【关键词】Linux 操作系统;Linux 系统编程;实践人才培养;改革与实践基金项目:贵州大学一流课程培育项目(XJG2021001);贵州大学省级本科教学工程项目(2020008);教育部:华为云计算技术有限公司产学研协同育人:新工科建设项目(SPC2821CHN22092910218700)。作者简介:申国伟,博士,教授,研究方向为网络空间安全、大数据。郭春,博士,副教授,研究方向为网络空间安全、数据挖掘。崔允贺,博士,讲师,研究方向为下一代网络架构、网络安全。*通信作者:蒋朝惠,硕士,教授,研究方向为网络与信息安全。23年04期.indd 9823年04期.indd 982
5、023/5/4 15:53:052023/5/4 15:53:0599科技视界Science&Technology VisionH科学课堂Science Classroom践技能,帮助学生建立理论联系实践的知识体系。本文以贵州大学为例,就 Linux 系统编程课程改革与实践进行探讨,并普及相关科学技术知识。一、传统Linux系统编程课程存在的问题我国针对实践教学开展了大量教学改革研究和有益的探索,“Linux 系统编程”课程从 2016 年开课以来,课程教学过程、教学效果上存在一系列问题。1.1教学内容理论偏多,授课形式比较传统Linux 系统编程课程是一门实践性非常强的选修课程,在理论授课过
6、程中,对基本操作、线程、进程和文件系统等相关理论知识内容讲解过多,且与前置课程“操作系统”中的部分内容重叠。此外,通过传统的 PPT 讲解方式使得学生对命令难以理解,对线程、进程等基础理论知识理解也不够深入。1.2学生编程实践不够,碎片化时间利用不足在课程改革之前,学生编程实践主要是在实验课中进行实际操作,然而,仅仅通过实验课中的时间进行编程训练远远不够。学生课后碎片化时间增多,但利用率较低,如何利用课后碎片化时间,打造开放式的实践空间,随时随地学习和实践是 Linux 系统编程课程急需提供给学生的。1.3课程思政内容融入不足,特色不够明显近年来,国家启动课程思政内容改革,但 Linux 系统
7、编程作为一门专业性很强的课程,如何融入思政元素是本课程面临的难题,特别是如何将开源创新思想、信创等核心思政元素融入课程中,形成课程思政改革特色是急需解决的问题。二、教学改革与实践措施针对课程教学过程中存在的问题,课程依托国家级新工科项目、省级教改项目开展了一系列改革。整体的改革思路如下。(1)目标定位差异化:本课程充分考虑大学的办学层次、学生能力等因素,为信息安全、网络工程等多个计算机大类专业学生开设线上线下混合课程。(2)全面融入思政元素:课程以国产化操作系统生态链为主线开展课程思政内容改革,瞄准 Linux 国产操作系统的应用和开发,为“卡脖子”技术攻关培养高质量人才。(3)瞄准编程编程实
8、践能力培养:充分结合慧科教育集团、头歌、华为等企业资源,打造“全开放的 Linux操作系统编程实践空间”。(4)服务形式多样化:课程为学生提供视频、讨论、实境编程、实验评测、综合实践等多个环节,融合在线学习、挑战攻关等新型教学模式,充分利用学生的碎片化时间开展学习。在上述整体改革思路的指导下,形成线上线下混合的教学模式如图 2 所示。图 2线上线下混合的教学模式23年04期.indd 9923年04期.indd 992023/5/4 15:53:072023/5/4 15:53:07100科技视界Science&Technology VisionH科学课堂Science Classroom在线
9、上线下混合教学模式指导下,主要开展以下几个方面的教学改革和实践。2.1充分利用产学研资源,积极开展课程内容改革Linux 操作系统课程为了培养学生的编程实践能力与企业的技术能力要求吻合,打通实践人才培养的“最后一公里”问题,探索产教融合的协同育人模式。授课教师与贵州翔明科技有限公司、华为、慧科教育集团、头歌等企业建立了良好的合作渠道,为了教学内容贴合一线开发企业,充分利用产学研资源,与企业一线爱发人员进行广泛交流,及时更新教学内容。企业教师参与课程内容联合录制,开展课程内容教学改革,形成编程实践人才培养的利益共同体。融合的产教资源如图 3 所示。2.2课程思政改革课程以 Linux 操作系的发
10、展历史、社会与职业内容的知识点为牵引,将社会主义核心价值观、家国情怀、法制意识、社会责任、人文情怀、工匠精神等相关德育元素融入课程教学的各环节。以国产化 Linux 操作系统 openEuler作为学生的实践平台,增加学生对国产化 Linux 操作系统的熟悉程度,培养学生的国产化操作系统理论研究和应用技术攻关能力,实现思想政治教育与知识体系教育的有机统一,建立思想政治理论课程与专业课程合力育人体系。思政元素全面融入课程的教学内容中,章节覆盖率 100%。在 2019 年开发了基于国产化操作系统 openEuler 的编程实践课程,并在头歌平台(https:/ 4。课程教学形式包括选择题、终端命
11、令运行、编程题等。图 3产教融合的课程资源体系图 4Linux 国产操作系统编程实践课程23年04期.indd 10023年04期.indd 1002023/5/4 15:53:072023/5/4 15:53:07101科技视界Science&Technology VisionH科学课堂Science Classroom一方面让学生熟悉 openEulor 操作系统的命令操作,解决会用的问题,一方面解决编程实践的问题。编程题目包括 3个层次,分别是基础编程、高级编程和综合编程实践,通过挑战通关的模式,适应于不同水平和基础的学生。我们自己编写脚本,参考 ACM 的形式,实现自动化的判题,使得学
12、生可以利用碎片化的时间去完成实践环节,提高编程能力。2.3联合企业开发在线课程2019 年,联合慧科教育集团的企业教师联合录制“Linux 操作系统”在线课程。课程依托学院与慧科集团校企深度融合人才培养模式,充分结合了高校的理论授课和企业的一线开发教学经验,在线授课视频由高校教师和企业教师联合录制,链接:(https:/ 5Linux 操作系统在线课程在线课程视频时长 414min,编程题库 100 余道编程题,可随机组合测验和自动判题。高校邦平台为在线视频课程提供了丰富的教学工具,包括教学足迹的记录、公告发布,设置讨论话题和活动、投票、问卷调查等。方便与在线学习的学生提供良好的互动工具。为了
13、充分考察学生的学习成果及实践动手能力,高校邦平台为教师端提供了高效的学生成绩管理平台,教师可自由设置各项成绩的占比情况。2.4构建以编程能力为为核心的考核体系在课程授课过程中和最终的考核中,打造“全开放式的 Linux 操作系统编程实践空间”,学生充分利用碎片化时间进行在线学习和能力达标训练。通过租用云服务器的方式,为学生提供远程的 Linux 操作系统真实操作环境,保证实验环境与在线视频课程中的环境一致,让学生能够在有网络的地方就能够做实验,大大增加学生参与实验的时间,扩充了学生参与实验的空间,同时也为学生协作提供了在线实验环境。在开放式的 Linux 操作系统编程实践空间里,学生的编程基础
14、和学习能力是不一致的,为了解决这个问题,课程采用挑战通关的模式,由易到难,为学生提供个性化的编程环境。结合思政改革,开发了基于 openEuler 的国产化操作系统编程在线课程,在整个编程实践体系中,结合华为的鲲鹏处理器、鸿蒙操作系统、openEuler 操作系统等国产化技术基座,培养学生在国产化技术栈中的编程开发实践能力。在考核部分,逐步形成了以编程能力考核为核心的评23年04期.indd 10123年04期.indd 1012023/5/4 15:53:082023/5/4 15:53:08102科技视界Science&Technology VisionH科学课堂Science Class
15、room价体系。编程能力考核部分通过“编程演示操作复现”+“编程作业和实验”+“编程综合考核”等多个考核环节,分别以 30%、20%、50%的比列进行成绩计算。在 3 个环节中,“编程演示操作复现”主要复现视频授课内容中的编程演示程序和操作,对学生的能力要求较低,加强对在线视频授课内容的理解。“编程作业和实验”中围绕视频课程内容安排编程实验,在 Linux 云主机或本地 Linux 系统中完成作业或实验,进一步提高学生编程实践的能力。最后,通过“编程综合考核”的方式,以相对复杂的综合编程题目,例如,面向高性能 Web 服务器设计高性能线程池,进一步考察学生的综合编程能力。通过上述环节,编程难度
16、逐步加大,既保证学生的学习兴趣,同时确保能力的逐步进阶,形成以学生为中心的个性化学习模式,提高学生的主动性、积极性和创造性。经过上述环节的考核,达到综合考核学生的编程实践能力。三、课程改革的实践效果分析Linux 系统编程课程实施了 4 年多的教学改革,已经取得了一些教学改革成果,主要包括 3 方面的改革成果。3.1以学生为中心的线上线下教学资源Linux 系统编程课程在教学改革过程中,探索并形成以学生为中心的 Linux 操作系统编程实践人才培养模式。经过 4 年多的教学改革探索,基本形成线上线下混合的教学模式,积累了对应的教学资源。教师团队通过建设和定期更新课程的视频、作业、测试题、编程题等学习资源,提高学生学习的主动性。教师团队定期组织难易程度适中的作业、测试、编程等环节,提高学生学习的积极性。教师及助教团队通过答疑、讨论等互动环节,帮助、引导学生解决学习、编程实践过程中的问题,通过开放式的话题讨论和竞赛项目等环节提高学图 6教学评价生的创造性。让学生深入理解操作系统理论的同时熟练掌握 Linux 操作系统下的编程开发技术,培养 Linux 操作系统下的编程实践能力,从而为国产化