What you build
A Java application where an examiner builds a question bank and creates timed tests. Each student gets a randomised paper, answers are marked automatically, and results are analysed per question.
Modules
- Examiner and student accounts
- Question bank with topics and difficulty
- Random paper generation and a countdown timer
- Automatic marking and result sheet
- Question-wise analysis: which questions most students got wrong
What you will understand
- Object-oriented design: classes for Question, Test, Attempt and Result
- Connecting Java to MySQL with JDBC
- Handling the timer and auto-submission
How it is tested
- Unit tests for marking logic
- Test cases for time running out, network loss and duplicate submission
What goes in the report
- Class diagram, use case diagram and sequence diagram
- Database design
- Test plan and results
Viva questions to prepare
- How do you make sure two students get different papers?
- What happens if the student closes the window mid-test?
- Explain one class in your code line by line.