littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Java的自动评分系统

项目简介

本项目是基于Java的自动评分系统,主要功能是对学生提交的代码进行自动评分。系统模拟本地测试和远程评分环境,保障评分的准确性与一致性。支持演绎评分和简单评分等多种评分策略,还能生成符合Gradescope平台的JSON评分报告。

项目的主要特性和功能

  1. 本地测试模拟:借助Maven编译项目,利用java -jar命令模拟本地测试环境,生成和远程评分环境一致的JSON输出。
  2. 自动评分脚本:提供create_submission.sh脚本,可生成学生提交的压缩包,且支持直接上传到Gradescope平台。
  3. 教学人员自动评分设置:通过make_autograder.sh脚本,生成自动评分文件并上传到Gradescope平台。
  4. 事务管理:实现Commit Logging事务管理机制,支持事务的持久化、崩溃恢复和并发控制。
  5. 注解支持:运用Java注解(如@Grade@BeforeGrading@AfterGrading)标记评分方法,保证评分顺序和逻辑正确。
  6. Checkstyle评分:集成Checkstyle检查工具,对代码风格评分,依据错误数量扣除相应分数。
  7. 命令行测试:提供CLITester类,辅助测试具有命令行接口的程序,捕获程序输出和退出状态。
  8. JSON输出:生成符合Gradescope平台要求的JSON评分报告,支持多种可见性设置和格式化选项。

安装使用步骤

假设用户已经下载了本项目的源码文件。 1. 编译项目:使用Maven编译项目,生成可执行的JAR文件。 bash mvn package 2. 本地测试:运行以下命令模拟本地测试环境,生成JSON评分报告。 bash java -Xmx1536m -Xms1536m -jar target/tests.jar 3. 生成提交包:使用create_submission.sh脚本生成学生提交的压缩包。 bash ./create_submission.sh 4. 上传到Gradescope:将生成的压缩包直接上传到Gradescope平台进行评分。 5. 教学人员设置:使用make_autograder.sh脚本生成自动评分文件并上传到Gradescope平台。 bash ./make_autograder.sh

通过以上步骤,可顺利使用本项目进行自动评分,并生成符合Gradescope平台要求的评分报告。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】