Lim An Qi - Project Portfolio Page
Overview
E-Duke-8 (pronounced “Educate”) helps CS2113/T students learn and understand software engineering and Object-Oriented Programming (OOP) principles through a gamified platform and enhances their learning experience.
Summary of Contributions
- New Feature: Implemented the timer function for the quiz
- What it does: The user would be able to choose the timer set for each question. If the time is up, and the user have yet to complete the question, then it will be marked as an incorrect answer.
- Justification: E-Duke-8 is able to simulate a timed examination environment for the students. Moreover, since they get to choose the timing , E-Duke-8 is able to cater to all students at different learning stages.
- Highlights: This timer feature is challenging as we had to cater to users using different operating systems. In the User Interface, there is two ways to detect the time passed when the user has not inputted anything. Kingston has helped in implementing this feature for the Windows Operating System (OS) while I worked on implementing this feature for the MacOS and Linux Operating System. The implementation in Windows OS uses the Robot object which cannot be used in the implementation in the MacOS and Linux as they are a headless environment.
- New Feature: Added delay between each question during the quiz
- What it does: The users need to press the “Enter” button on the computer before they can proceed to the next question.
- Justification: This allows the users to read and understand the explanation of the question first, before moving on to the next question. This makes the quiz function more effective in helping the students to revise.
- New Feature: Implemented the User Interface (UI) class
- What it does: It would be the point of contact between E-Duke-8 and the users. It would take in input from the user while printing out prompts for the users to read.
- Justification: This also allows the users to know if the command they give is successfully handled by E-Duke-8. This is because, E-Duke-8 will echo back if it is a successful command, and tells the user the error if it is an unsuccessful command.
- New Feature: Implemented the
Option
andOptionList
classes- What it does: The
Option
class holds the one of the option of a question while theOptionList
class holds all 4 options of the same question. - Justification: When we have classes for the
Option
andOptionList
, our program will be more Object-oriented, which brings about many benefits.
- What it does: The
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community: