Skip to content

carrot2803/autograder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Autograder

An automated grading system that evaluates Comp2603 assignment 1 and generates detailed PDF reports with marks and feedback based on assignment specification.

Installation

There are several ways to save this repository to your device. These options include:
git clone https://github.com/carrot2803/autograder.git

Package java and dependencies:

Java and Maven are required to run this application. Refer to the Document for prerequisite installations.

  • To install the required dependencies and package the application, run the following command:
mvn clean package
  • To run the application, execute the following command:
java -jar target/autograder-1.0-SNAPSHOT-jar-with-dependencies.jar

Features

  • Full coverage unit & performance test for all interfaces
  • ZIP file extraction for student submissions
  • Submission evaluation & grading based on assignment specification
  • PDF feedback generation with detailed test results and scores
  • Implements over 5 formal design patterns and many informal ones
  • High performance processing times of under 30 seconds for 100 submissions

Architecture

This project follows a layered architecture, with structures as the domain layer, services as the application layer, and interfaces as the contract layer. Link to Documentation

Class Diagram

Package Structure

com.gophers         # Root package
.
├── interfaces      # contains all core system interfaces
|
├── services        # contains core business logic for system
|   ├── handlers    # operations for handling submissions and generating results
|   ├── helpers     # helpers for grade processing services
|   └── testCases   # testcase suite for evaluating submission quality
|
├── structures      # contains all structural entities within the project
|   ├── domain      # domain data models representing real world enitties
|   ├── factory     # contains grade factory classes for assigning grades
|   └── grades      # storage model to encapsulate scores per sub-section
|
└── utilities       # contains utility classes and functions

About

Autograder something javadoc below

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages