AutoMark is a desktop application designed to automate the compilation, execution, and evaluation of programming assignments submitted by students. Built using Electron, React, and Node.js, it provides a simple and modern interface for instructors to configure test cases, import student submissions, and view detailed reports on code correctness.
-
Project-based Evaluation
Create separate projects for each assignment with custom test configurations. -
Flexible Configuration System
Define compilation and execution settings for different programming languages (e.g. Java, C, Python). -
Multiple Input/Output Methods
Supports manual input/output, file-based testing, and command/script-based automation. -
Automatic ZIP Extraction
Imports student submissions in .zip format and organizes them based on student ID. -
Automated Compilation and Execution
Compiles each submission using the provided configuration and executes it with test input. -
Output Comparison Engine
Compares the actual program output with the expected output and determines success/failure. -
Detailed Result Reports
Displays per-student results including status (compiled, executed, success, failed) and error messages. -
Modular Backend with SQLite
Uses SQLite for lightweight storage and structured submission tracking. -
Clean, Modern Interface
Built with React and Tailwind CSS for a responsive and accessible UI.
You can download the latest release of AutoMark as a setup file:
Run AutoMark_Setup.exe and follow the installation wizard.
If you prefer to run the app from source, follow these steps:
- Clone the repository:
git clone https://github.com/ahmet-ciftci/AutoMark.git cd AutoMark - Install dependencies:
npm install
- Build Frontend:
cd frontend npm install npm run build cd ..
- Start the Electron app:
npm start
AutoMark is designed to guide instructors through evaluating student programming submissions efficiently. Here's how to use each section of the app:
Set up a new project and import student submissions.
- Enter a project name.
- Select the submissions folder (Folder that contains ZIP files named by student number).
- Choose the configuration created earlier.
- Define test input & expected output:
- Manual value
- Input/output file
- Or a shell script command
- Click Create Project.
AutoMark will:
- Extract ZIPs
- Compile code
- Run each program with test input
- Compare outputs
- Save results
Configure how submissions will be compiled and executed.
- Go to the New Configuration tab by clicking +New in Configuration part on Project window.
- Define:
- A name for the config (e.g.
Java,C) - Compile command (
javac,gcc) - Source file name (
Main.java,Main.c) - Optional compile parameters (
-encoding UTF-8,-o Main.exe) - Run command (
java Main,./Main.exe)
- A name for the config (e.g.
- Save the configuration.
Review each student's result and status.
- Submission Reports tab automatically opens after execution and evaluation.
- See detailed status(success, failed)
- Error messages and actual outputs are also displayed for debugging.
Browse raw extracted files.
- Navigate to the File Explorer tab.
- View extracted student folders and source files.
Information about using program.
- Help:
Access the inbuilt Help menu for detailed instructions on using the application.
If you find a bug or want to suggest a new feature, please open an issue on the GitHub repository.



