# Basic Guide to Question Creation with WirisQuizzes

If you are new to WirisQuizzes, this is the best starting point to familiarize yourself with the different options and the interface. We will guide you step by step through several common use case examples.

## Sum of two fractions

In the last years of primary school, students learn to operate fractions. Let us see how we create a question with WirisQuizzes step by step, asking, for instance, for the sum of two fractions. The grading will be done automatically; for now, both simplified and not simplified answers will be counted as correct.

### Select the question type

First, we need to select which type of question we will use. Among all the possible options, the best one for adding two fractions is *Short answer* because we expect the student to answer with just the result.

### Write the statement

Second, we will write the statement of the problem. Let us ask the students to sum $\frac{1}{4}$ and $\frac{5}{4}$. Fractions can be written with MathType

### Write the correct answer

Third, open WirisQuizzes Studio by clicking .

### Note

WirisQuizzes Studio is the main workspace. Here we will provide the correct answer and some matching criteria regarding the form of the solution. For instance, in the next example, we will see how to set the question so that only simplified fractions are correct. You can find more detailed information about WirisQuizzes Studio in its dedicated page.

Here you can provide the correct answer to the question.

### Preview the question and save the changes

It is always a good practice to test how they behave using the *Test this question* section, even with simple questions. We can check that all the correct answers the student may provide are indeed correct.

Once you have finished testing the question, go back to the home page and click to save changes and WirisQuizzes Studio window closes.

### Note

The view on this tab is the same as the students will have. Since they will see the same math editor that we see, we must select *Math editor embedded* or *Math editor in popup* on the *Input options* section.

### Assign full grade and save the question

Finally, we must assign the full grade to the correct answer and save the question by clicking *Save changes and continue editing*. This way, we will save the question, but we will be left on the same page.

### Student view

Now, we should be able to preview the question. Click *Preview*.

A new window will show up with the question shown as the student will see it. Here, we can test the behaviour of the question again.

Note we do not require the answer to be simplified. We'll look at how to do that in the next exercise.

## Sum of two fractions: simplified answer

Based on the previous question, now we want to go a step further: now it is not only sufficient to compute the sum of two fractions, but it should also be simplified. For instance, only $\frac{3}{2}$ would have been the correct answer in the previous question.

### Select the question type

First, we need to select which type of question we will use. Among all the possible options, the best one here is *Short answer* because we expect the student to answer with just the result.

### Write the statement

Second, we have to write the statement of the problem. Let us ask the students to sum $\frac{1}{4}$ and $\frac{5}{4}$. Fractions can be written with MathType

### Write the correct answer

Third, open WirisQuizzes Studio by clicking on .

Here you can provide the correct answer to the question.

### Configure the evaluation properties

Go to the *Validation options* section and select the *Simplified* option under *Simplification > General*:

### Preview the question and save the changes

It is always a good practice to test how they behave using the *Test this questions* section, even with simple questions. We can check that all the correct answers the student may provide are indeed correct. Note that if the answer is not simplified, the question is mismarked.

Once you have finished testing the question, go back to the home page and click to save changes and WirisQuizzes Studio window closes.

### Note

The view on this tab is the same as the students will have. Since they will see the same math editor that we see, we must select *Math editor embedded* or *Math editor in popup* on the *Input options* section.

### Assign full grade and save the question

Finally, we must assign the full grade to the correct answer and save the question by clicking on *Save changes and continue editing*. This way, we will save the question, but we will be left on the same page.

### Student view

Now, we should be able to preview the question. Click *Preview*.

A new window will show up with the question shown as the student will see it. Here, we can test the behaviour of the question again.

### Tip

It is possible to create a second answer so that if a student were to answer $\frac{6}{4}$, they would get, for instance, half of the score. The same idea is used in this example we will visit later. Try it yourself when you finish this tutorial!

## Sum of two random fractions

Imagine you want to include this question on a quiz. All the students will see the same question with the same fraction! Wouldn't it be nice to have one different question for each student? Well, this is possible with WirisQuizzes with a simple command.

The idea is to generate four random numbers that will be the numerators and denominators of our fractions. Every time a student opens the question, different numbers will appear in the statement.

And what about the correct answer? Do we need to assign to each possible case its correct answer? Of course not! We will treat fractions as variables, perform their sum inside CalcMe so it will do the computations for us, and then we set the result as the correct answer.

### Select the question type

First, we need to select which type of question we will use. Just as in the examples above, the best possible options are *Short answer* because we expect the student to answer with just the result.

### Create random numbers

Before writing the statement, let us write the algorithm of the question. Open WirisQuizzes Studio by clicking .

The *Basic Mode* allows us to retrieve a random integer number in a given interval. We need four random numbers: two numerators and two denominators, which we will call `a`

, `b`

, `c`

, and `d`

(the name of the variables is essential, as we will see later on). We need to click on the *Add variable* button to add them.

We have four random numbers, the numerators between 1 and 9 (both included) and the denominators between 2 and (both included too). That is all we have to do regarding the generation of the random variables.

### Tip

If you want to see more details regarding the *Basic Mode* of defining random variables, you can see its detailed page here.

### Write the correct answer

Now, we need to define the correct answer in the corresponding input field, considering that the answer is not a number now. As you may see, the `evaluate()`

command will be automatically displayed there to be used if we want our solution to be computed.

If we directly write the correct answer without the `evaluate()`

command, the result showed to the student as the expected answer will appear without any performed calculus. Both options are valid, but we prefer to display the final fraction when the students answer the question in this example. Conversely, that's what it would be displayed.

### Note

Recall the student will see the same math editor as we do where we write the correct answer or in the *Test the question* section, so it is essential for either the *Math editor embedded* or *Math editor in popup* option to be selected.

### Make sure it all works

Finally, go to the *Test the question* section and try some possible answers: check everything works as expected. Although the provided correct answer provided is simplified, if no additional property is selected, any answer mathematically equal to the correct one will be accurate.

### Note

Now we have another button next to the correct answer in the *Test this question* section: . This button appears because our algorithm deals with randomness. Every time we click this button, the algorithm will be re-executed, and the random numbers will change.

### Save the changes and assign full grade

Once you have finished testing the question, go back to the home page and click to save changes and WirisQuizzes Studio window closes.

Assign the full grade to the correct answer.

### Write the statement

Now we proceed to write the statement of the problem. Recall that our numerators and denominators were stored in variables called `a`

, `b`

, `c`

, `d`

. Remember, we have to write the name of the variables preceded by the pound sign `#`

. Fractions can be written with MathType

Finally, save the question by clicking *Save and continue editing* , so the question is held, but we are still viewing the editing page.

### Student view

Now, we should be able to preview the question. Click *Preview*.

A new window will show up with the question shown as the student will see it. Here we can test the behaviour of the question again.

Every time we preview the question, the numbers in the statement will be different.

## Area of a rectangle

One of the most common questions in the first years of high school is to ask the area of a rectangle, which is simply the result of multiplying the length of its base by its height. This type of question is also helpful to check whether the students have understood how to work with units.

This example will let us introduce units of measure in our questions.

### Select the question type

Let's select which type of question we will use. As above, the best of the possible options here is *Short answer* because we expect the student to answer with just the result.

### Write the statement

Second, let us write the statement of the problem. We will ask the students, for instance, to compute the area of a rectangle with base $4\text{cm}$ and height $5\text{cm}$.

### Write the correct answer

WirisQuizzes can automatically grade the student's answer once we provide the correct answer. It will not only compare if the answer is the same, but it will also check if the answers are mathematically equal. In our example, it will grade as correct both $4\xb75{\text{cm}}^{2}$ and $20{\text{cm}}^{2}$. We will provide, for instance, $20{\text{cm}}^{2}$ as the correct answer.

### Enable units of measure

Go to the *Input options* section and check the units of measure and prefixes you are interested in under *Input syntax*. In this case, you have to select, at least, `m`

(for the unit meters) and `c`

(for the prefix centi).

Note that now both `c`

(centi) and `m`

(meters) are coloured blue because they are selected as explained above to be understood as a metric prefix and a unit, respectively.

### Preview the question and save the changes

It is always a good practice to test how they behave using the *Test this question* section, even with simple questions. We can check that all the correct answers the student may provide are indeed correct. Moreover, we can see that if the students forget to write the units, they will get zero points.

### Assign full grade and save the question

Finally, we must assign the full grade to the correct answer and save the question by clicking *Save changes and continue editing*. This way, we will save the question, but we will be left on the same page.

### Tip

Not assigning the full grade to a response is useful when penalising some answers. For instance, in this case, we could create a second answer without the units and assign 50% of the grade to it. There's another example below that illustrates this.

### Student view

Now, we should be able to preview the question. Click *Preview*.

A new window will show up with the question shown as the student will see it. Here, we can test the behaviour of the question again.

## Area of a random rectangle

Consider the question in the previous example. Imagine we want to include that question on a quiz. All the students will see the same question with the exact dimensions! Wouldn't it be nice to have a different question for each student? This is possible with a simple command in WirisQuizzes

The idea is to generate two random numbers for base and height, so every time a student opens the question, there will be different numbers in the statement.

And what about the correct answer? Do we need to assign a correct answer to each possible case? Of course not! We will treat measures as variables, evaluate their product inside CalcMe so it will do the computations for us, and then we set as correct answer the result.

### Select the question type

First, we need to select which type of question we will use. Among all the possible options, the best one here is *Short answer* because we expect the student to answer with just the result.

### Create random numbers

Before writing the statement, let us write the algorithm of the question. Open WirisQuizzes Studio by clicking .

The *Basic Mode* allows us to retrieve a random integer number in a given interval. We need two random numbers: one for the rectangle's base and one for the height. We will name these variables `b`

and `h`

, respectively. As we've seen in previous examples, the variables' names are essential. We need to click on the *Add variable* button to add them.

Now we have two random units whose magnitude is between 1 and 9, inclusive. That is all we have to do regarding the generation of the random variables.

### Tip

If you want to see more details regarding the *Basic Mode* of defining random variables, you can see its detailed page here.

### Write the correct answer

Now, we need to define the correct answer in the corresponding input field, considering that the answer is not a number now. As you may see, the `evaluate()`

command will be automatically displayed there to be used if we want our solution to be computed. Since the variables don't have units, we'll include them here.

If we directly write the correct answer without the `evaluate()`

command, the result showed to the student as the expected answer will appear without any performed calculus. Both options are valid, but we prefer to display the final fraction when the students answer the question in this example. Conversely, that's what it would be displayed.

### Note

Recall the student will see the same math editor as we do where we write the correct answer or in the *Test the question* section, so it is essential for either the *Math editor embedded* or *Math editor in popup* option to be selected.

### Enable units of measure

Go to the *Input options* section and check the units of measure and prefixes you are interested in under *Input syntax*. In this case, you have to select, at least, `m`

(for the unit meters) and `c`

(for the prefix centi).

### Preview the question and save the changes

It is always a good practice to test how they behave using the *Test this question* section, even with simple questions. We can check that all the correct answers the student may provide are accurate. Moreover, we can see that if the students forget to write the units, they will get zero points.

### Note

We have another button next to the correct answer in the *Preview* tab: . This button appears because our algorithm deals with randomness. Every time we click this button, the algorithm will be re-executed, and the random numbers will change.

### Assign full grade

Assign the full grade to the correct answer.

### Write the statement

We have to write the statement of the problem. Recall we have stored the base length and height in two variables named `b`

and `h`

, respectively. Therefore, as for the correct answer, we have to write the name of the variables preceded by the pound symbol `#`

. We also have to include the units in the statement since the variables are just numbers, not quantities.

Finally, save the question by clicking *Save changes and continue editing*.

### Student view

Now, we should be able to preview the question. Click *Preview*.

A new window will show up with the question shown as the student will see it. Then, we can test the behaviour of the question again.

Every time we preview the question, the numbers in the statement will be different.

## Penalization for forgetting the units

In the previous examples, we have mentioned it is possible to penalize students' grades if they forget to write the units. Let's create a random question as before but

Students will get 100% of the score if they write the area of the rectangle with the correct units.

Students will get 50% of the score if they write the area of the rectangle without units.

### Select the question type

First, we need to select which type of question we will use. As above, the best of the possible options for this question is *Short answer* because we expect the student to answer with just the result.

### Create random numbers

Before writing the statement, let us write the algorithm of the question. Open WirisQuizzes Studio by clicking .

The *Basic Mode* allows us to retrieve a random integer number in a given interval. We need two random numbers: one for the rectangle's base and one for the height. We will name these variables `b`

and `h`

, respectively. As we've seen in previous examples, the variables' names are essential. We need to click on the *Add variable* button to add them.

Now we have two random units whose magnitude is between 1 and 9, inclusive. That is all we have to do regarding the generation of the random variables.

### Tip

If you want to see more details regarding the *Basic Mode* of defining random variables, you can see its detailed page here.

### Write the correct answer

Now, we need to define the correct answer in the corresponding input field, considering that the answer is not a number now. As you may see, the `evaluate()`

command will be automatically displayed there to be used if we want our solution to be computed. Since the variables don't have units, we'll include them here.

If we directly write the correct answer without the `evaluate()`

command, the result showed to the student as the expected answer will appear without any performed calculus. Both options are valid, but we prefer to display the final fraction when the students answer the question in this example. Conversely, that's what it would be displayed.

### Enable units of measure

Go to the *Input options* section and check the units of measure and prefixes you are interested in under *Input syntax*. In this case, you have to select, at least, `m`

(for the unit meters) and `c`

(for the prefix centi).

Note that now both `c`

(centi) and `m`

(meters) are coloured blue because they are selected as explained above to be understood as a metric prefix and a unit, respectively.

### Preview the question and save the changes

It is always a good practice to test how they behave using the *Test this question* section, even with simple questions. We can check that all the correct answers the student may provide are accurate. Moreover, we can see if the students forget to write the units, they will get zero points.

### Note

We have another button next to the correct answer in the *Preview* tab: . This button appears because our algorithm deals with randomness. Every time we click this button, the algorithm will be re-executed, and the random numbers will change.

Once you have finished testing the question, go back to the home page and click so changes are saved, and the WirisQuizzes Studio window closes.

### Assign full grade

Assign the full grade to the correct answer. Note the answer has units.

### Write the statement

We have to write the statement of the problem. Recall we have stored the base length and height in two variables called `b`

and `h`

, respectively. Therefore, as for the correct answer, we have to write the name of the variables preceded by the pound symbol `#`

. We also have to include the units in the statement since the variables are just numbers, not quantities.

Finally, save the question by clicking *Save and continue editing*.

### Penalization to those who forget the units

Until now, this question has behaved exactly the same as the previous one. Therefore, let us add the penalization to those students who forget to write the units.

Click *Blank for another choice*, so a new possible answer shows.

Open WirisQuizzes Studio in *Answer 2*:

Notice everything is the same as before except that the *Correct answer* editor is empty now. Provide the correct answer as back but do not write the units.

Save the changes by clicking , and assign 50% of the score to the second answer so the *Answers* field looks like

### Tip

We are saying here: if the answer matches the criteria of *Answer 1*, the student will get 100% of the score. If instead, the response matches the requirements of *Answer 2*, the student receives 50% of the score. If the answer matches neither the criteria for *Answer 1* nor *Answer 2*, the student gets no credit.

### Save the changes and preview the question

Finally, save the changes.

And preview the question.

A new window will show up with the question shown as the student will see it. Then we can test the behaviour of the question again.

Every time we preview the question, the numbers will appear will be different.

## Convert grams to number of moles and particles

In chemistry, one may be interested in converting from grams of a substance to the number of moles and particles. In this example, we will create a question that, given the mass of a substance in grams, the student should compute how many moles and molecules it contains, correct to 2 correct decimal places.

### Select the question type

First, we need to select which type of question we will use. There are several possible options , and once again, the best one for this example is *Short answer* because we expect the student to answer with just the result.

### Create random numbers

The *Basic Mode* allows us to retrieve a random integer number in a given interval. We just need one random number: the number of grams of ammonia we'll request to convert into moles and particles. We will name this variable `g`

. As we've seen in previous examples, the variables' names are essential. We need to click on the *Add variable* button to add it.

Now we have one random variable whose value is between 20 and 50, inclusive. That is all we have to do regarding the generation of the random variables.

### Tip

*Basic Mode* of defining random variables, you can see its detailed page here.

### Write the correct answers

Now, we need to define the correct answer in the corresponding input field, considering that the answer is not a number now, and we are asking two questions: the number of moles and the number of particles. Firstly, we need to write both subquestions in different lines.

As you may see, the `evaluate()`

command will be automatically displayed there to be used if we want our solution to be computed (in this case, just once, so we would need to write it again for the second subquestion). If we directly write the correct answer without the `evaluate()`

command, the result showed to the student as the expected answer will appear without any performed calculus. Both options are valid, but we prefer to display the final fraction when the students answer the question in this example. Conversely, that's what it would be displayed.

Then, we need to select *Grade answer boxes separately* in the *Input options* section not to evaluate the entire content as a single value. We have two choices regarding the grading: either the whole question is correct if all the subquestions are correct, or the whole mark is the sum of the distributed grades for each subquestion. Here, for instance, we distribute the grade equally: 50% for the first one and 50% for the second one.

### Tip

Note we have selected a *Compound answer*. This option allows us to ask for multiple solutions in a single question, which is very useful when both subquestions are related. Everything on the left-hand side of the equal sign will be part of the statement, and on the right-hand side, a box will appear so that the students can answer them accordingly.

### Preview the question

It is always a good practice to test how they behave using the *Test this question* section, even with simple questions. We can make sure the whole grade combines each subquestion's grade.

### Change the tolerance

Until now, we were using the default tolerance setting: 0.1 per cent error. In this question, we want to count as correct an answer if it is accurate to two right decimal places. Go to the *Validation options* section and modify the tolerance field, which becomes *two decimal places*, as in the animation below.

### Tip

Are you interested in all the possible tolerance options and how they work? Visit this detailed tolerance page.

### Save the question and assign full grade

Click so changes are saved, and WirisQuizzes Studio window closes. Next, assign the full grade to the correct answer.

### Write the statement

Finally, we have to write the statement of the problem. Recall we have stored the number of grams in a variable named `g`

. Therefore, as for the correct answer, we have to write the name of the variables preceded by the pound symbol `#`

. We will ask the students to convert $g$ grams of ammonia, ${\mathrm{NH}}_{3}$, to the number of moles and particles.

### Preview the question

Save the question by clicking *Save changes and continue editing*.

Click *Preview*.

Note that the question is not entirely accurate if the student's answer does not have two correct decimal places.

## Match the plot

We will ask the student to match a function with its graph in the following example. Thus, we will incorporate a plot in the statement. Let us see how it is done.

### Select the question type

First, we will select which type of question we will use. Until now, we have been using *Short answer*, but now we will choose *Multiple choice* since we want the student to select the correct option among all the possibilities that we will give.

### Construct the plot

For instance, we will show the plot of ${x}^{2}$, and then students will have to choose from some possibilities. Let us then create the plot of ${x}^{2}$. Open WirisQuizzes Studio by clicking . As we need to create more complex variables, such as the graphical representation of a function, we need to click on the *Advanced mode* button.

What you see is CalcMe.

### Notice

For getting started with CalcMe, see its very very basic guide.

We directly write ${x}^{2}$ and click on *Plot*. Pay attention that the graph appears in the first plotter, `plotter1`

.

### Tip

If you used CalcMe before, you might have noticed some differences with previous versions. You can see further details about the new procedure to define variables here.

That is all we have to do regarding the algorithm. Click the arrow on the upper left corner to go back to WirisQuizzes Studio

Click so changes are saved, and WirisQuizzes Studio window closes.

### Create the possible answers

In the *Answers* section, create three different choices ${x}^{2}$, ${x}^{3}$ and $2x+1$ and assign 100% of the grade to the correct one.

It is possible to specify some feedback for each choice. Feedback is what appears once the student has answered the question. We can write *Congratulations!* for those who answer correctly, and *Your answer is not correct; that is a parabola!* for those who fail.

### Write the statement

Finally, let us write the statement of the problem. Recall that the function graph was plotted in the first plotter *, plotter1*, to be our variable. Then we need to precede by `#`

the variable's name, in this case, `plotter1`

. The statement will look like

### Note

From this moment on, it's possible to customize the size of your plotter graphs in the question's statement. Make your plotter more visible by using the following commands:

#yourplottername_desiredsize

#yourplottername_desiredwidth_desiredheight

For example, if we want to display our plotter with a custom size of 800px per 600px, we need to use the syntax `#plotter1_800_600`

on the question statement.

### Label of the options and shuffling

We have almost finished, but small details are missing. We should specify that only one answer is correct, whether we want to shuffle the choices or not (so that the order in which the choices appear is different for each student), and which label is used for each choice.

### Save and preview the question

We have finished with the creation of the question. Now, save the question by clicking *Save changes and continue editing*.

Click *Preview*.

A new window will show up with the question shown as the student will see it. Then, we can test the behaviour of the question again.

## Roots of a polynomial

In the following example, we will ask the student to write a polynomial expression given its roots. Moreover, we will plot the polynomial the student gives to compare their solution with the correct one.

### Select the question type

We'll select which type of question we will use. Most of the examples on this page use *Short answer*. Since we expect the student to answer this question with just the result, *Short answer* is the best of all the possible options for this one as well.

### Write the statement

Now let's write the statement of the problem. We will ask the students to write a monic polynomial of degree two with roots 2 and -3.

### Compute the correct answers

Open WirisQuizzes Studio by clicking , then go to the *Correct answer* section and write the correct answer.

### Note

Since we are checking if the student's answer and the correct answer are mathematically equal, the order in which we write the correct answer is unnecessary.

### Store the student answer

Next, click on the *Advanced mode* button and open CalcMe.

As you can see, it's now the default option to generate the question's algorithm, and unless you are working with a previously created question, you can't use Wiris CAS (the old calculator) anymore.

### Notice

For getting started with CalcMe, see its very very basic guide.

The student's answer is stored in a parameter called `answer`

. Therefore, to work with it, we have to define this parameter. As we want to compare the correct and the student's answers, we have to plot both. The code to do so looks like this:

### Tip

If you used CalcMe before, you might have noticed some differences with previous versions. You can see further details about the new procedure to define variables here.

The default value for the parameter answer is zero; that is why the red plot is always zero. Don't worry; it will look more friendly with the response from the student.

### Preview the question

It is always a good practice to test how they behave using the *Test this question* section, even with simple questions. Once again, the order is not essential. The plot will appear in the preview of the whole question.

If the student answers with the polynomial in expanded form, it will be graded as correct since it will be mathematically equal to the right answer we have provided.

### Save the question and assign full grade

Click so changes are saved, and WirisQuizzes Studio window closes. Next, assign the full grade to the correct answer.

### Add the feedback

### Note

Go to the *General feedback* field. Everything we write here will be shown to the students once they answer. Therefore, as we will do here, we can write all the steps they have to carry out when solving a problem or compare their answer with the correct one.

Recall that the correct answer's graph is blue, and the one stored in the parameter answer (the student's answer) is red. The plot is stored in a variable called `plotter1`

so that we will include it on the feedback preceded with the pound symbol `#`

.

### Preview the question

Save the question by clicking *Save changes and continue editing*.

Click *Preview*.

A new window will show up with the question shown as the student will see it. Then, we can test the behaviour of the question again.