Online Judge Objective :
To create an automatic testing system that checks programming assignments/problems wherein teachers add problems and students submit programs.
Abstract :
The online judge will be a system that can be used for the online assessment of programming assignments. The system will have a resemblance with websites such as hackerrank, code forces, etc which provide a platform for competitive programming. A similar system can be deployed in colleges for the submission of practical assignments online. It will be a system where college faculty will have to design the problem statements and prepare test cases that need to be tested on the code submitted by the students and the expected output for each test case. The system will execute the code on all test cases and compare the output generated by the code with the expected output.
Briefs about Contents:
1. Introduction:
Online Judge will be a system that checks for the correct output of a program. As the name suggests the Online Judge will judge the correctness of the programs submitted to it on various parameters like accuracy, time complexity, space complexity, etc.
The purpose of the system is to create a platform where aspiring programmers can improve their coding skills and compete with others and make themselves well-acquainted with the sport of competitive programming. The system also aims at creating the interest of computer science students in competitive programming.
2. Technical Details :
The system will be a web-based interface that will provide a problem setting to faculty and problem description for students and an editor to type his code and submit it. Three languages will be provided. C++, Java, and Python.
3. Working:
The product will check the output of the program submitted by the end-user by comparing it with the sample output already fed to the system by the person who has designed the problem. The sample test cases will be given by the problem designer and the code submitted by the student will be checked on all the test cases.
The time complexity and Space complexity of the program will also be checked by adding a time limit and memory limit. Role of the students: To think of the algorithm for the problem statements. Implement the algorithm using an appropriate programming language. Make a timely submission. Role of the faculties: Faculty will have to give a precise description of the problem statement. They will have to create test cases considering all the scenarios of the problem. Faculty will have to give the format of the input and the output.
4. Applications:
This system can serve as an assignment submission interface as well as a practice site for programming problems thereby improving the programming skills of the students.