# User interface - Wiris Quizzes Studio

All mathematical content in a WIRIS question type is handled from Wiris Quizzes Studio, or Studio for short. Studio can always be accessed from a WIRIS question type by pressing this icon:

The Studio window is organized into four tabs, which we explain in detail below. Which tabs appear, and what they look like actually depends on the question type, but we'll explain everything in the Short answer case. The other question types have the same or fewer options.

In this tab you control the answer field for the student, and you also set the correct answer here inside a formula editor.

Below the editor is the Input method, with the following options:

• MathType embedded: Select this for the student to use an embedded editor (default).
• MathType in popup: Select this for the student to use a small input box, with a button to insert formulas with our editor.
• Plain text input field: Select this for the student to use a small input box with no formula editor.

One of the above three is always selected. The further optional boxes are:

• Compound answer: In Short answer questions, you can ask for more than one answer in a single question. For more details see this page: Compound answers.
• Include CalcMe: You can supply your the student with our online calculator while answering the question, and set initial content for the calculator if desired. Keep in mind that the calculator can do a lot more than numerical computations!

Here you select what kind of input is expected from the student. For example, choose between general mathematical expressions or quantities that involve units. Along with this, you can decide how the correct answer is validated against the student answer. The main function of many of the options is to decide how syntax checking works on the student side. For example [0,1) is normally highlighted as incorrect syntax, unless we choose the Intervals option. The tab is divided into three sections, explained below.

### Allowed input

Choose the desired answer type. These can be:

• General: Any mathematical expression. This is the default option, and it is probably the type you need in the majority of cases.
• Quantity: The most important use of this is for answers with units or currencies. This option would also be appropriate for numerical answers, fractions, ratios, etc. The General option will work for these cases, but you have a few more options with Quantity.
• Text: For pure text answers with no mathematical content. This option is rarely used. More details here.

The first two also have a series of options.

#### Options for General

Option Description Default
Constants Which symbols are recognized as mathematical constants (e.g. if i is enabled then i² will be understood as –1). All selected
Functions Which function names are recognized by their usual meaning. (e.g. if exp/log is enabled then "ln(2)" will be understood and calculated as 0.6931... All selected
User Functions Define your own function names to add to the above list. They won't be calculated as anything, but sometimes this option is useful. See this page for an example: user functions Empty
List Allow lists as answers. Options for list separators are shown below. Selected
Lists always need curly brackets "{}" Require that lists be enclosed in curly brackets to be recognized as a list (e.g. if selected "4,7,88,9" would not be understood as a list - in fact it would be highlighted as syntactically incorrect). Selected
Intervals Recognizes interval notation as valid syntax. Expressions like [0,1] are already valid without this, but now we may have for instance ]0,1] or (0,1]. More details here. Unselected
Separators Decide which symbols act as decimal, digit, and list separators. Point "." : decimal digits
Comma "," : list items
Space " " : Nothing

#### Options for Quantity

Option Description Default
Constants Which symbols are recognized as mathematical constants (e.g. if i is enabled then i² will be understood as –1). π, i, j
Units Which units are recognized. It's important to note that "all" includes more units than the other 6 shown - it includes all S.I. basic and derived units. all
Unit prefixes Which unit prefixes are recognized. Again, "all" includes more prefixes than the ones shown. M,k,c,m
Mixed fractions Allow mixed fractions to be recognized. Without this option, a number next to a fraction is understood to be multiplying it. Unselected
List Allow lists as answers. Selected
Separators Decide which symbols act as a decimal, digit, and list separators. Additionally, you can use apostrophe `'` for decimal mark. You must choose Quantity, and in Options > Units uncheck all, and then uncheck `º'"`. Point "." : decimal digits
Comma "," : list items
Space " " : Nothing
See a detailed explanation of lists and sets here.
See a detailed explanation of percentages and per mille use here.

### Comparison with student answer

Once we've decided what format we expect the student answer to be in, we have a few options for how their answer should be compared to the correct answer.

Comparison with student answer criteria
Tolerance digits This specifies the number of correct digits that numbers entered by the students must have. This setting applies globally (to the entire question). The default value is 3. More details
Literally equal This removes all mathematical interpretation from the comparison. The student's answer is only correct if it matches the correct answer exactly. For example, if the correct answer is 4 but the student writes 4.0, it will not be counted. This criterion is rarely recommended. 
Mathematically equal This is the default comparison. It will detect if what the student has written is mathematically equal to the correct answer. For example, we don't need to worry if the student writes a + b or b + a. More details
Equivalent equations This comparison is very similar to the above, but it is for the special case where the answer is an equation (e.g. the student could write y = 2x – 5, or $2.5=x-\frac{y}{2}$, or any equivalent form). More details
Any answer Anything that the student answers will be counted as correct. This is useful in some cases. More details
Grading function Define your own function to decide which answers are accepted, and how to grade them. This is an advanced feature. More details
Compare as sets This is a checkbox that is independent of the above options. When checked, order and repetition are ignored from lists. So, if the correct answer is the set {1,5,2}, then {5,5,5,2,1} (for example) would be accepted. More details

Sometimes it's not just the value of the answer that's important, but also its form. This usually happens when you are teaching basic algebraic manipulation, and you want the answer in a very specific form. For example, if you’re teaching how to reduce a fraction, you probably want to accept only the reduced fraction as the correct answer. If so, all other equivalent fractions are wrong, despite having the same value. In this case, we need to select is simplified from the list of Additional properties.

For a complete and advanced description of all the properties, see assertions.

Until now, Wiris CAS was the tool for writing the algorithms in Wiris Quizzes Studio. Now, as a beta version you can try CalcMe, our cross-browser compatible Javascript calculator, within Wiris Quizzes. Find out how here.

This tab is at the core of many of Wiris Quizzes' capabilities. We define variables here in a computer algebra system (CAS), and these are used in various parts of the question definition. If you're familiar with CalcMe or Wiris CAS then you have a head start. If not, it's easy to get started. You can think of it as a big scientific calculator, but which can also manipulate symbolic equations. You can always check CalcMe basic guide (or CAS basic guide).

### Declaring variables

Variables are defined by writing a name for a variable, an equals sign and an expression on the right-hand side. For example:

Wiris CAS CalcMe

There are two details to note:

#### Declaring variables

• The left-hand side can be any letter or word without spaces, excluding reserved words (e.g. `sin`, `cos`)
• The right-hand side can be any reasonable mathematical expression, be it numerical (as in the first variable above) or algebraic (as in the second).

Within this field, variables can be manipulated and acted on, and new variables can be defined from old ones, just as on paper. For instance:

Wiris CAS CalcMe

Only for Wiris CAS: We're using the space outside the yellow variables box to test the value of `new_variable`. This is what it is intended for. None of what is written outside of the box is used in the question at all; the space is just for testing variables and instructions whenever it might be necessary.

#### Algorithm language

The CAS field is available in multiple languages. By default the language of the CAS will be the same of the Moodle, or English as fallback. But you can choose another one of the available languages.

If you change the language of the CAS then any existing algorithm in it will be automatically translated. This is very useful if you have algorithms in other languages, like the ones in STEM collection.

### Inserting variables

Those are the basics of how variables function inside of Wiris Quizzes Studio. What's very important though, is to know how to use these variables outside of Studio. The answer is simple:

To include a variable anywhere within a question type, write a pound symbol: # followed by the name of the variable (e.g. `#a`)

So we could include the above polynomial in a question just like this:

This would appear to the student as:

### Random variables

Perhaps the most important use of variables is to introduce randomness in a question. There is a simple instruction in CalcMe that generates random numbers, `random()`. For example,

Wiris CAS CalcMe

generates a random number between -10 and 10. This could then be used in the question text as we have seen. The result is that each time the question is opened, a random value for `a` is used. So, students viewing the same question will see potentially different values.

There are many ways to exploit this feature, and we list a few of them ourselves in the basic guide.
If you are interested in having the same random seed for the same student, learn how to do it here.

### Output options

Different countries, education levels, or textbooks, use different notations. You can configure this section to better match the notation you use.

These options apply only to the values generated in the Algorithm field, i.e. the variables. All generated values will be in the same notation; you can not generate values in different notations.

#### Precision

Precision must be an integer between 1 and 15 included, and its meaning depends on Notation. By default it is `Precision = 4 significant figures`.

All notations usually imply a rounding. When rounding, the rule used for tie-breaking is half-up.

For a complete detailed information about tolerance, precision and notation, visit our dedicated page.

#### Notation

These notations apply only to decimal numbers. Numbers and expressions without a decimal point in them are exact, and so these notations don't apply to them. You can always convert an exact expression to decimal by multiplying by `1.0` for instance.

For a complete detailed information about tolerance, precision and notation, visit our dedicated page.

#### Decimal

Choose the symbol for the decimal mark. Available options depend on the symbols in Validation tab, in Options... > Separators marked as Decimal digits. Trailing decimal points of integer numbers are never shown.

#### Thousands

Choose the symbol for the digit groups separator, that is, thousands separator. Available options depend on the symbols in Validation tab, in Options... > Separators marked as Digit groups.

#### Times operator

Choose between middle dot `·` and cross `x`. Set Invisible to hide all non necessary products, that is, implicit products.

#### Imaginary unit

Choose between `i` and `j` (often used in electrical engineering).

In this tab you can simulate the question quickly, without having to save, exit the question editor, etc. Specifically you can test evaluation criteria, automatic feedback, and variables. The preview interface looks like this:

We will now examine the separate elements of the Preview pane.

This is a formula editor exactly as the student will have, where you can write a test answer.

### Test

Click the Test button to see if the answer that you have written is correct. You may also want to use this to check that incorrect answers are, in fact, incorrect.

The correct answer, as defined in the Correct answer tab, will be shown in the blank on the left. Click the arrow button to automatically input the correct answer into the answer blank above. If any variables are defined in the variable tab, there will also be a refresh icon . When clicked, all algorithms in the Variables tab are executed again. In particular any random elements will be newly generated.

You can Export and Import the contents of Wiris Quizzes Studio.

The Export button will immediately download an XML file containing all settings of all tabs of the studio. Your browser will automatically save this file or will ask you where to put it, like any other download.

If you are using Studio inside an LMS (Moodle, Canvas,…), then be aware you are not exporting the question; you are exporting only the studio settings.

The Import button is the reverse action of Export.

You can use Export and Import to help you to:

• Move algorithms between questions.
• Change the type of a question; for instance, from shortanswer into multichoice.
• Move questions between LMS; for instance, from Moodle to Canvas.
• Provide detailed bug reports to support at wiris.com