Welcome to the TJHSST AI Grader!

This website is used to run automated grader scripts for the Artificial Intelligence class at TJHSST.


Before this application was created, users had to upload their code into a special directory on TJHSST servers and wait for the teacher to run the grading scripts before receiving feedback. Now, students can enter their code directly into this site and the grader script's output is shown for instant feedback. Students can get their code graded concurrently, which reduces wait times and allows the teacher to keep track of new code and update grades accordingly without having to manually execute the grader on recently uploaded files. Additionally, students possess a log of all previous submission outputs for future reference.

Web Editor

This website provides a web editor with code completion and syntax highlighting, which makes it simple for students to quickly resolve syntax errors in their code before resubmitting for grading. Since there is also the option to upload files, students can use the editor of their choice to modify their code before uploading it onto the server for grading.

Concurrent and Asynchronous Grading

This website uses Celery workers to execute the grading scripts. There are eight workers who are assigned to pick up jobs from the queue, which means eight graders can be run at the same time. If there are more than 8 students who submit their code for grading, their code is placed at the end of the queue to be handled by workers as soon as the workers are finished with their previous jobs. Since the workers are running asynchronously, output is shown to the students as it becomes available, which lets students view their progress for longer running jobs (e.g. >5 min) without having to wait until the grader is finished running.

Ease of Use

This website was created with the goal of improving the grading experience for both students and teachers. With the combination of the web editor and live output, the website makes it simple for students to get their code graded whenever they want. For teachers, the website ensures they don't have to run the script on all the students' code at once and wait for it to complete, which can take hours. Additionally, teachers have a simple web interface they can use to create new labs for grading. Below is a screenshot of the admin interface where teachers can create new labs for students to view and submit.

Admin page

Sure! If this is your first time using the application, you should try submitting to Sample Lab. You can expand the description to find out more about what the grader script for that specific lab does. For your convenience, there are more instructions on how to submit on the upload page. Additionally, there are videos and screenshots of the grader in action attached below.

Syntax highlighting in the code editor.
Syntax highlighting in the code editor.
Submitting a file.
Adding jobs to the queue.
Showing and hiding the output.

Get started!