Upgrade of the NTU virtual judge software application

The ICPC (International Collegiate Programming Contest) is a programming competition that is hosted annually by the world’s universities. This competition invites students from the universities all over the world to compete against each other on an international level. The ICPC Club in NTU (Nanyang...

Full description

Saved in:
Bibliographic Details
Main Author: Ang, Siu Min
Other Authors: Kevin Anthony Jones
Format: Final Year Project
Language:English
Published: 2018
Subjects:
Online Access:http://hdl.handle.net/10356/74022
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:The ICPC (International Collegiate Programming Contest) is a programming competition that is hosted annually by the world’s universities. This competition invites students from the universities all over the world to compete against each other on an international level. The ICPC Club in NTU (Nanyang Technological University) aims to participate in the ICPC as well by sending their best teams to the competition. The ICPC Club therefore, conducts mock programming contests internally (within ICPC Club) to identify the best team. Initially, the mock programming contests are held and organized by the ICPC mentors, who creates individual accounts on various online judge platforms for the submission of the ICPC Club members’ answers. However, this process is extremely time-consuming and labor-intensive as the mentors are required to manually tabulate the scores from the different online judge platforms. As a result of the above, the Virtual Judge 2.0 application was developed, where the ICPC mentors could easily organize a contest on one system, while still utilizing the various online judge platforms for tracking of problems. However, there are various pressing requirements that are still to be implemented in the application. This project aims to enhance the existing application to ensure that it would suit the requirements of the ICPC Club Mentors and Members. The final aim is to allow the application to be used frequently by the ICPC Club to help the club mentors and members prepare effectively for the yearly competition. This report contains the requirements elicitation, implementation details of the development, and all testing involved in the project. The enhancements to the existing Virtual Judge system has been developed according to the elicited requirements. This report also contains the detailed analysis of the choice of Programming Language and Software Framework used in the development (Elixir Programming Language and Phoenix Framework respectively). The analysis would also include the popularity of the chosen Programming Language and Software Framework, as well as the recommendation of whether said topics should be offered as part of a curriculum in major universities. Since the web application is expected to be deployed in the World Wide Web after project submission, this report would also discuss the key recommendations in deploying the web application in the World Wide Web. As this is a real-time web application that will be used continually even after the project submission, it is recommended that the server be maintained regularly for any further additional features to be developed to help the ICPC mentors and members.