Python programming online exam system - Tjong, Jessica (2018)
In recent years, Computer Science has been gaining traction, with students from various backgrounds attempting to learn the subject. These students will have individual aptitudes for different topics in Computer Science, needing more attention for topics they are struggling at. However, due to the increasing number of students enrolled in programming courses, it is not always practical for a course instructor to grade and provide feedback for students’ work on an individual basis. This project aims to both facilitate customised learning for each student and assist instructors in assessing student proficiency. In this project, a web-based platform for online exam system, named CodeLyon, is proposed. Various types of questions can be used, such as multiple-choice questions and code-writing. In code-writing questions, the system will run and grade students’ codes based on the given test cases. The system will also review the submitted code’s style based on Python PEP 8 standards, emphasising the importance of clean code to students. There are three main components of the system in this report as follows: (i) Practice mode, where students are free to attempt questions of any topic anytime, (ii) Challenge mode, where students are presented with question sets with game elements, (iii) Test mode, where students need to finish questions within a time limit to be graded. Upon students’ completion of a test, the course instructor will be able to view students’ performance in various levels of details to gain insight on the class’ capability. Possible future works of this project include extension to other programming language and usability testing of the web interface.