Here is a piece of work that I have developed for me and my colleagues in parallel of my mission.
PMP training file
In 2016 I passed the PMP certification: after several weeks of courses on Project Management, the exam is a set of 200 questions to be answered in less than 4 hours. I could not find online a proper solution to train efficiently to the big exam, so I developed my own!
I started from a database of all the questions/answers I could find online, and used a Model-View-Controller framework to build up the tool. A menu enable the user to choose the questions to be reviewed, then a view is generated for each question, and all the answers are recorded to build up a report at the end, showing the statistics of the session.
Once the basic architecture done, I could implement numerous features: 2 types of sessions (Training and Mock-up test), several options to choose the topics to be reviewed (specific knowledge areas, specific process group, specific keyword), the number of questions to be reviewed, a time constraint with a chronometer, and even a tracking of the difficult questions specific to the user, to enable him to focus only where he is struggling.
As in the real test, the Model used for a question enable to flag a question, to go to the next or previous question, to go to a specific question, and of course to answer the questions and finish the session. For the test, you can show the answer question per question. Also, this will remember the time spent on every question, as well as the hesitations the user may have on the answers.
At the end of the test, the user’s answers are analysed and several automated comments are automatically generated: Spent time per question, if to change his mind was useful or not, the focus to be done next times etc. The results are also shown by PM processes, Knowledge areas, and quarter of the test (to compare the global performance). Of course the user is able to review the list of question with his answers, the right answers, a justification, the time spent on the question and other data.
After a few mock-up test, the user will be able to access the archive areas, with overall statistics on his performance, and his global status (how far his he to be ready to do the exam)
It was quite fun to build the exam generator.The hard part was not where it should have been: the little clock on the right hand side of the screen during a test! Because it needed to work in parallel with other pieces of code (go to next question…). After a bit of research I could set up another thread to enable the clock as well as the rest of the code.
The great thing is that the user can entirely change the database, so if one has another examination one day, I can reuse it again (to learn German, Python, some sign language or even some agile concepts)
Let me know if you want to test it!