Advanced Java project : Quiz Manager

Introduction

This project is made to provide an evaluation of the advanced java course The goal of this project is to develop a program (API oriented, Web-based) that helps in dealing with quiz assessments.

The usual problem while preparing an evaluation, is to :

Specifications

UML Class Diagram

QuestionString questionExamString titleMCQChoiceString choiceboolean validMCQAnswerStudentString nameString idAnswer

Types of question

To handle the most of the possible cases, there are several types of question to consider.

The MCQ questions

The MCQ questions are composed of a question text and a set of possible choices, each choice can be right or wrong.
It can also be interesting to add a extra content, like some code extract, some picture or some other kind of media (video, music etc.).

The Open Questions

The open questions are composed only by a question, and some hints, additionaly they can be completed by a exta media content.

Associative questions

The associative questions are questions where it necessary to assign some propositions to some descriptions, like in the following.

Common questions attributes

Each question has a some extra attribute to describe the topic and the difficulty of the question. Those two fields help to balance the overall exam complexity, and the topics coverage.
Those attributes can be taken in account for automatic exam assembly.

Realization

The produced application should be a web application. The usage of a Service Oriented Architecture (API-based) is recommended.
Two main features are expected:

Quiz editing

The quiz editing part aims at providing user interface to create questions, and organize them to form a quiz.

For this project, only the Multiple Choices Questions are to be implemented.

Quiz execution

The quiz running part should run the quiz and get the answers from the user.
All the answers should be recorded and at the end of the quiz the global result is displayed to the user.

You can take an example on the following website :

Java Code Examples: Quiz