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
Yidong Fang
Yidong Fang
Software Engineer

Yidong Fang get his bachalor degree in Computer Science from Southern University of Science and Technology in China and master’s degree in Computer Sciences in University of Wisconsin-Madison in United States. He is currently an experienced software engineer at Bloomberg L.P..