The Java Type-Along Grader is a Python tool for comparing and grading student Java code submissions against a reference implementation. It provides a GUI and CLI for flexibility and efficiency.
-
Upload the source code file (teacher's code)
-
Link the directory containing all student files; the tool will recursively find all Java files within this directory.
-
Choose the comment ignoring level:
- all: All comments are ignored. Students won't be marked off for adding their own comments or not writing teacher's comments.
- eol: End-of-line comments are ignored (e.g. int counter // this is the number of iterations). Students are allowed to write whatever they want for such comments, but not for comments that exist independently (like ones above a function definition)
- none: No comments are ignored. Students are expected to have identical comments of all types.
-
Run the grader and review results.
- Student names are obtained from the first line of their header. The rest of their header is ignored for grading. Students who include "Conlin" in their name are marked off.
- No points are directly deducted for the "Brackets" error because "SpacingError" and "NewLineError" mistakes already account for it.
-
Ensure Python 3.8+ is installed.
-
Clone the repository:
git clone https://github.com/trrt-good/JavaTypeAlongGrader.git cd JavaTypeAlongGrader
-
Run the script:
./runapp.sh
This will install dependencies and launch the application. Supported on Linux and Mac only. It's recommended to run this script to launch the application each time.
-
Ensure Python 3.8+ is installed.
-
Clone the repository:
git clone https://github.com/aidentothe/java-grader.git cd JavaTypeAlongGrader
-
Make virtual environment:
python -m venv env source env/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the GUI:
python typealong_app.py
-
Use the CLI (optional):
python typealong_grader.py <source_code> <student_directory> <total_points>
-
Install Homebrew (if not already installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Install Git using Homebrew:
brew install git
-
Verify the installation:
git --version
-
Configure Git with your name and email:
git config --global user.name "Your Name" git config --global user.email "[email protected]"
Now you're ready to use Git and GitHub on your Mac!
- Compare Java submissions against reference code.
- Detects formatting issues, spacing errors, and Allman-style brace violations.
- Export results in CSV, Excel, JSON, and more.
- Configurable grading and detailed feedback.
Happy Grading! 🚀