面向Linux系统实验课程的Online Judge平台
Online Judge Platform for Linux System Experiment Courses
摘要: Linux系统实验课程具有环境配置复杂、操作路径多样、阶段状态难以人工核验等特点。传统实验批阅主要依赖报告、截图和最终文件,难以还原学生真实操作过程;传统Online Judge又更适合程序输入输出比对,难以直接评价文件权限、进程状态、服务运行和脚本执行等Linux实验任务。为解决上述问题,本文设计并实现了一套面向Linux系统实验课程的Online Judge平台。平台基于Docker提供统一隔离的在线实验环境,采用WebSocket与伪终端技术实现浏览器端命令行交互,使用检查点式评测脚本对阶段任务进行自动判分,并通过终端回放、文件变化记录和AI辅助批阅形成可复核的过程证据链协助教师完成实验效果评估。
Abstract: Linux system laboratory courses are characterized by complicated environment configuration, diverse operation workflows, and difficulties in manual verification of intermediate execution states. Traditional experimental grading mainly relies on laboratory reports, screenshots and final files, which makes it impossible to restore students’ actual operation processes. Conventional Online Judges are more applicable to input-output comparison of programs, and cannot directly evaluate Linux experimental tasks involving file permissions, process statuses, service operation, script execution and other metrics. To address the above challenges, this paper designs and implements an Online Judge platform tailored for Linux system laboratory courses. Built upon Docker, the platform provides unified and isolated online experimental environments. It adopts WebSocket and pseudo-terminal technologies to realize command-line interaction on web browsers, leverages checkpoint-based evaluation scripts for automatic scoring of phased tasks. Furthermore, it generates a verifiable procedural evidence chain through terminal playback, file change logging and AI-assisted grading, assisting instructors in assessing students’ experimental performance.
文章引用:蔡华帅, 孙皓. 面向Linux系统实验课程的Online Judge平台[J]. 计算机科学与应用, 2026, 16(9): 37-46. https://doi.org/10.12677/csa.2026.169287

参考文献

[1] 李文新, 郭炜. 北京大学程序在线评测系统及其应用[J]. 吉林大学学报(信息科学版), 2005(S2): 170-177.
[2] 邱建新. 基于Docker容器技术的Linux在线实验环境设计[J]. 信息技术, 2022(2): 48-52+58.
[3] 崔艳敏. 基于Docker的课程实验平台设计以及实现探讨[J]. 中阿科技论坛(中英阿文), 2020(3): 144-145.
[4] 安海兵, 祁雷. 软件工程中的Linux操作系统实验课程教学实践[J]. 集成电路应用, 2021, 38(6): 192-194.
[5] 蔡崇超. 基于Web的在线判题系统设计与实现[J]. 软件导刊, 2016, 15(3): 107-109.
[6] Hao, Q., Smith IV, D.H., Ding, L., Ko, A., Ottaway, C., Wilson, J., et al. (2021) Towards Understanding the Effective Design of Automated Formative Feedback for Programming Assignments. Computer Science Education, 32, 105-127.
https://doi.org/10.1080/08993408.2020.1860408
[7] Sharrock, R., Angrave, L. and Hamonic, E. (2018) WebLinux: A Scalable In-Browser and Client-Side Linux and IDE. Proceedings of the 5th Annual ACM Conference on Learning at Scale, London, 26-28 June 2018, 1-2.
https://doi.org/10.1145/3231644.3231703