CARP Online Judge System
Together with another two studetns, we built and maintained an online system to host and evaluate the quality of student’s solutions and their algorithm efficiency when they submitted code, specifically to solve the AI NP-hard Problem CARP (as part of the CS303 Artificial Intelligence course). It is inspired by the common online judge platform that is designed for deterministic algorithms, such as Leetcode. Developing this kind of platform, we are helping the Teaching Assistants reduce a lot of workload and provide students with a better-to-use and more fair assignment environment.
Students are able to upload their AI algorithm code written for the predefined IO format and get the results from the system after a few seconds or minutes running. The system also has an account management module which ensures different privileges for different roles. It handled over 150 student users and 4 teaching assistant users, over 1000 submissions in total.
In the project, I am in charge of part of the web server and the judger server.
Technical Details:
- Front-end: Pure HTML, CSS
- Web server: Java Spring Framework, MongoDB
- Judger server: Python, Docker