Skip to content

ooemperor/CodeGrader

Repository files navigation

CodeGrader (CG)

This repository contains the source code for the CodeGrader. The CodeGrader is an application that provides functionality for automatic Code Grading (Execution and Evaluation in a sandbox environment) with User Management.

Main Use-Cases

  • Create Tasks with Attachments for Users to download
  • Create and manage Users and their specific Access to Tasks
  • Let Users upload their Solution to tasks
  • Automatically execute and test the submitted Code
  • Provide Administrators and Users with Feedback to the Submission

Features

  • Gamification for the Users after submitting Solution
  • Multi-Client Capability for running multiple classes or even schools on one instance of the CodeGrader
  • High-Avaiability ready
  • automated deployment with ansible
  • stable and easy to maintain

With the solution to these Use-Cases the CodeGrader is a good solution for any computer science teacher who wants to provide theirs students with the possibility for lots of hands-on training without long manual and repetitve correction work required.

For more detailed information on how to setup this Project please visit the doc Folder.

This project is created as a Bachelor Thesis at the University of Bern in 2023/2024.

Installation / Deployment

For running the application you can find a detailed Guid in the doc folder for a complete guide.

The Deployment has been tested on Linux Debian 11 and Linux Debian 12.

Technologies

The CodeGrader is implemented using multiple technologies.

The main functionality is written in Python with Flask and HTML Templates, Bootstrap and Javascript for the frontend.

Help

If you have any questions about the application and its features, feel free to get in touch.
E-Mail: michael.kaiser@emplabs.ch

License

This application is avaible under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3.