项目简介
本项目是基于Java的自动评分系统,主要功能是对学生提交的代码进行自动评分。系统模拟本地测试和远程评分环境,保障评分的准确性与一致性。支持演绎评分和简单评分等多种评分策略,还能生成符合Gradescope平台的JSON评分报告。
项目的主要特性和功能
- 本地测试模拟:借助Maven编译项目,利用
java -jar
命令模拟本地测试环境,生成和远程评分环境一致的JSON输出。 - 自动评分脚本:提供
create_submission.sh
脚本,可生成学生提交的压缩包,且支持直接上传到Gradescope平台。 - 教学人员自动评分设置:通过
make_autograder.sh
脚本,生成自动评分文件并上传到Gradescope平台。 - 事务管理:实现Commit Logging事务管理机制,支持事务的持久化、崩溃恢复和并发控制。
- 注解支持:运用Java注解(如
@Grade
、@BeforeGrading
、@AfterGrading
)标记评分方法,保证评分顺序和逻辑正确。 - Checkstyle评分:集成Checkstyle检查工具,对代码风格评分,依据错误数量扣除相应分数。
- 命令行测试:提供
CLITester
类,辅助测试具有命令行接口的程序,捕获程序输出和退出状态。 - 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】