Each class object contains a list of tutorial objects and a list of student ojects. The methods of a class are create a new tutorial, edit a tutorial, delete tutorial and add and delete students.
Each tutorial contains a roadmap, a list of pages and a list of questions.
Each roadmap contains a list of roadmap items. A roadmap item is either a page or a quiz.
The Quiz module contains a quiz object. Each quiz object contains a list of quiz version objects. Each quiz version object contains a list of question objects. The major operations for adding a quiz are adding a version, adding a question, and submitting the quiz.
The user database contains all users. The two types of users are instructors and students.
Each student contains a collection of quiz Info objects that keep track of the student's performance on quizzes.