
swamiiyer/gradescopeGradescope autograders Docker镜像是Gradescope教育平台的自动评分工具,用于教育机构、在线教育平台或编程课程中自动批改学生提交的作业(如代码文件、文档、编程题答案等)。通过预设或自定义的评分逻辑,实现作业批改流程的自动化,减少人工干预,确保评估结果的客观性、一致性和高效性。
从Docker Hub或Gradescope官方仓库拉取镜像(假设镜像名为gradescope/autograder):
bashdocker pull gradescope/autograder:latest
运行容器时需挂载学生作业目录(包含待评估的提交文件)和评分脚本目录(包含自定义评分逻辑):
bashdocker run -it \ -v /本地路径/学生作业目录:/submissions \ # 挂载学生提交的作业文件目录 -v /本地路径/评分脚本目录:/grader \ # 挂载自定义评分脚本目录 -e LANGUAGE=python \ # 指定作业编程语言(可选,默认python) -e SCORE_RULES=/grader/rules.json \ # 指定评分规则文件路径(可选) gradescope/autograder:latest
评分脚本需放置在/grader目录下(容器内路径),并遵循以下规范:
run_autograder(无扩展名,需具备可执行权限)。/submissions目录下的学生作业文件,执行编译、运行、测试用例验证等操作。/results/results.json文件,格式示例:
json{ "score": 85.0, // 总分(0-100) "output": "代码通过8/10个测试用例,未处理边界条件...", // 详细反馈 "tests": [ // 各测试用例得分(可选) {"name": "基础功能测试", "score": 20, "max_score": 20}, {"name": "边界条件测试", "score": 15, "max_score": 20} ] }
通过-e参数设置环境变量,自定义评分行为:
LANGUAGE:指定作业编程语言(如python、java、cpp),用于加载对应语言的运行时环境(默认:python)。SCORE_RULES:评分规则文件路径(如/grader/rules.json),定义得分权重、扣分标准等(默认:使用内置基础规则)。FEEDBACK_FORMAT:反馈输出格式(text/html/json),控制返回给学生的反馈样式(默认:text)。TIMEOUT:单个作业评分超时时间(单位:秒),避免长时间运行的作业阻塞流程(默认:30s)。DEBUG:是否开启调试模式(true/false),调试模式下输出详细日志(默认:false)。若在Gradescope平台中使用,需将评分脚本打包为.zip文件并上传至平台,平台会自动基于此镜像创建评分容器,完成作业评估流程。具体步骤参考Gradescope官方文档中“创建自动评分器”部分。
submission.py、main.java),确保评分脚本可正确识别。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务