# Technical overview

## WirisQuizzes in your assessment system

WirisQuizzes is a set of components that work together to enhance computer-based assessment in mathematics and science. It offers new unique possibilities and fills the gap between the current question systems and the specific needs of the mathematical and scientific community.

WirisQuizzes is powered by some WIRIS technologies which are easily integrable in any assessment system with a minimal development investment.

### 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 the 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.

WirisQuizzes 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 equals 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 WirisQuizzes Studio to allow your authors to choose the grading criteria. For example, the author may request a simplified response. Thus, “simplified” is one possible selected criteria through the WirisQuizzes Studio. |

Level 3 | Create questions with random parameters, such as 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. The correct answer is computed for the open answer type depending on the defined random parameters. Compute feedback from the student answer (for example, plot or do other operations with it). |

Embedded answers | To |

## Architecture

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

The following figure summarizes the architecture of WirisQuizzes

## Underlying WIRIS technologies

WirisQuizzes relies on the following technologies:

MathType. The JavaScript equation editor and the formula image web service.

CalcMe. The computer algebra system with a JavaScript interface and symbolic, numeric, graphics, and programming features. It is used to define the random parameters and evaluate 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 WirisQuizzes 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 WirisQuizzes 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 with a MathType editor.

Delivery: replace your plaintext input for the student answer with 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 with the WirisQuizzes 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.

## WirisQuizzes Studio

WirisQuizzes 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 WirisQuizzes Studio to define the correct answer:

Using WirisQuizzes Studio to define the grading criteria:

Using WirisQuizzes Studio to define the random parameters: