Architecture Overview

The MathletFactory's generic exercise framework (based on the former multiple choice framework) offers an easier and more generic way for creating exercise applets and correctors for Mumie problems than the traditional exercise framework does. Based on the it's capabilities to serialize MathML data with [[..:datasheets|Datasheets]], it defines a new common structure for questions for every exercise, thus allowing the creation of generic problems through MM-TeX: a problem has one or more questions; each question has one or more answers; both can define variables for parametrising and calculating the problem's mathematical content.

Each question is of a several type defining the data model (the so called question classes) and the user interface (the so called question UI classes).

The data model of a question is responsible for:
  • loading the problem data (e.g. personalised values, parameters)
  • holding the mathematical objects
  • loading of user answers into the model
  • correcting the answers
The user interface of a question is responsible for:
  • presenting control and input components to the user
  • collecting user answers from these UI components
  • loading answers and adjusting the UI components
This exercise framework is based on a very abstract view on questions, thus not making any restrictions to functionality at any level of parametrisation and reusage of components:
  • By defining own question classes, both the data model and the user interface can be adapted to any needs by means of the MathletFactory Library and standard Java components.
  • Question classes can be reused between different problems and between the demo, training and exercise part of an applet. The later part also includes the invocation of code on server side.
  • Question classes benefit from a large serialisation infrastructure used for loading and saving both problem related data and user answers, thus allowing a robust and easy way to load/store mathematical and non-mathematical data.
  • Question classes may reuse and even mix different question classes.
Problem authors may use the following predefined question classes as a starting point for own exercises:
  • [[.:mc_question|Multiple choice questions]]: offer a complete infrastructure for displaying, saving and correcting traditional multiple choice exercises including different answer types (multiple, uniqe, yes/no), appropriate GUI elements and sophisticated correction algorithms using the MathletFactory. A MC question basically consists of a question taks and several answers, which both may contain e.g. graphical visualisations with custom MC questions.
  • [[.:method_question|Method based questions]]: are based on the idea of standardization of mathematical methods. These can be used to edit and to automatically correct complex mathematical problems. By offering different possible methods for a single problem, users can learn to choose appropriate problem solving strategies and to apply them in a very didactical approach. Further the formalisation of mathematical methods allows the development of generic and reusable method components as well as a more complex correction and user feedback.
  • [[.:custom_question|Custom questions]]: allow the creation of completely new question types and the merging of different question types into a single question. This type of question offers the highest level of flexibility for developers.
Problem authors always have the possibility to:
  1. extend existing questions to add further functionalities or to change exisiting features
  2. create new question classes mixing other questions
  3. develop new question classes acting themselves as a base for new questions
  4. create new generic question classes with any level of parametrisation

Add picture from clipboard (Maximum size: 500 MB)