CscGrader and generateRubrics: Open-Source Tools for Faster CS Grading
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend What I Built I built a two-part toolkit to solve the biggest time-sink in teaching large CS courses: grading massive, complex student projects. This isn't about auto-grading, which often fails for creative or multi-part assignments. Instead, it’s about automating the tedious, mechanical work so instructors can focus…
This submission for the Hacktoberfest Weekend Challenge is a two-part open-source toolkit designed to speed up grading for large computer science courses. The creator built the tools for a friend, a CS professor spending weekends manually grading hundreds of student projects. The main issue is that grading complex, multi-part projects manually is time-consuming, error-prone, and mentally draining.
The first part, CscGrader, is a language-agnostic tool that automates the "collecting evidence" phase. It detects student projects, compiles them, runs them with predefined inputs, and captures all output like stdout, stderr, exit codes, and timing. The second part, generateRubrics, takes a single master rubric file and generates personalized rubrics for each student based on the instructor's roster.
Together, these tools transform a weekend of manual grading into a streamlined, semi-automated workflow. The tools are designed for a command-line workflow and can be used together as follows:
1. Generate grading rubrics for the entire class using a text file with student names and an Excel rubric file.
2. Process all student submissions to collect evidence by running the submissions folder through CscGrader. It compiles Java code, runs it with test input, and saves results in structured JSON files.
3. Grade by opening the personalized rubric for a student and the corresponding JSON evidence file. The tools handle whether it compiled, ran, and what the output was, freeing the instructor to focus on code quality and feedback.
The code for both repositories is open-source. This project exemplifies using open-source tools for practical automation. Both tools are written in Python with standard library dependencies to ensure portability for instructors without admin rights. The generateRubrics tool treats .xlsx files as binary data. The project was developed using open-weight AI as a coding partner to design a modular architecture.
An open-source agent harness automated testing of CscGrader, making the tool more robust. The modular pipeline includes detection, compilation, execution, and evidence collection, orchestrated by a central runner with language-specific adapters.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.