# Technical Overview

## Wiris Quizzes in your assessment system

### Enhanced features

- Equation creation and editing at authoring time and equation visualization at presentation time by MathType. 2D and 3D graphics.
- Simplified MathType equation editor as an input field for open student answers. Answers are entered in usual mathematical notation. Localization. Handwriting.
- Real-time syntax validation of student answers.
- Answer grading with a wide range of mathematical equivalences and criteria: precision and tolerance, simplification, expansion, rationalization, equation solving, sets, text.
- Wiris Quizzes Studio authoring interface for defining the grading criteria.
- Random question parameters generated via an algorithm and custom grading functions using the CalcMe calculator.

## Do we need to use all features?

No. You can integrate only the features that you need. For example, the following scenarios with increased complexity are possible:

Level 1 | For open answer question types, validate the student answer with the correct answer. The validation criteria will always be the default mathematical equal (for example, 2+x is equal to x+2). You may optionally allow your student to input the answers using the MathType equation editor. |
---|---|

Level 2 | For short answer question types, integrate our rich authoring interface Wiris Quizzes Studio to allow your authors to choose the grading criteria. For example, the author may request a simplified response. Thus, “simplified” is one of the possible criteria that can be chosen through the Studio. |

Level 3 | Create questions with random parameters, which may be numbers, equations or even graphics. You can add this feature to any question type (multiple choice, true/false, matching, essay, etc.) in addition to the open answer question type. For open answer type, the correct answer is computed depending on the defined random parameters. Compute feedback from the student answer (for example, plot or do other operations with it). |

Embedded answers | For fill in the blanks question type, insert a button in your HTML editor to create blanks in the question statement that will be rendered as input fields suitable to enter Mathematics. Choose evaluation criteria as in Level 2 and generate random parameters as in Level 3. |

## Architecture

The **assessment system** is the part of your platform where Wiris Quizzes is to be integrated. In order to help the integration of our tools into the assessment system, we offer the **Wiris Quizzes API**, a library in different technologies (Java, PHP, .NET, JavaScript, Flash) with the purpose to facilitate the usage of the services. You will need to develop the **Wiris Quizzes integration** between your assessment system and the Wiris Quizzes API.
The underlying Wiris Quizzes server components are software as a service (SaaS). Optionally, you can install these server components on your own server. They are separated into two components: the **Wiris Quizzes web service** and the **Mathematical engine**.

The following figure summarizes the architecture of Wiris Quizzes.

## Underlying WIRIS technologies

Wiris Quizzes relies on the following technologies:

- MathType. The JavaScript equation editor and the formula image web service.
- CalcMe. This is a computer algebra system with JavaScript interface and symbolic, numeric, graphics, and programming features. It is used both for defining the random parameters and for evaluating the student's answer.
- Grammar engine. The grammar engine is responsible for real-time mathematical syntax validation and for extracting the semantic meaning of a mathematical expression resolving notational ambiguities.

The adoption of the Wiris Quizzes solution involves using only some or all components to achieve only one or all the enhancing features.

## Where does this integration happen?

The following points are the integration contact of Wiris Quizzes and your platform. They are divided between client side (HTML + JavaScript) and server side (Java, .Net, PHP, Flash, JavaScript + web service calls) and they are cumulative on ongoing levels:

### Level 1: Open answer with default equivalence criteria

#### Client side

- Authoring: replace your plaintext input for the correct answer by a MathType editor.
- Delivery: replace your plaintext input for the student answer by a MathType editor with syntax checking.

#### Server side:

- Delivery: Use the API to our validation web service to grade the student answer.

### Level 2: Open answer with different equivalence criteria

#### Client side:

- Authoring: Replace your correct answer input field by the Wiris Quizzes Studio.
- Delivery: As in Level 1. Additionally, you may display some automatic feedback.

#### Server side:

- Authoring: Save the question options.
- Delivery: Use the API to call the validation web service to grade the student answer.

### Level 3. Random questions

#### Client side:

- Authoring: As in Level 2
- Delivery: As in Level 2

#### Server side:

- Authoring: Save the question options.
- Delivery: Use the API to call the web service to generate the random parameters and to render the question statement with equations and graphs. Use the API to call the web service to grade the student answer. Use the API to call the web service to generate the feedback equations and graphs.

## Wiris Quizzes Studio

Wiris Quizzes studio is an interface used by the authors of a question to define and test the correct answer, the allowed input, the validation criteria, and eventually the algorithm that generates the random parameters for a question.

Using Wiris Quizzes Studio to define the correct answer:

Using Wiris Quizzes Studio to define the grading criteria:

Using Wiris Quizzes Studio to define the random parameters: