How to create an Assessment Item
Did you know GeoGebra offers professional authoring services? Together with a team of experienced authors and education experts we create high quality and customized GeoGebra resources based on your specifications. We take care of everything needed, including accessibility and quality assurance - it's never been that easy![br]You want to know more? Have a look at our [url=https://www.geogebra.org/m/dh4xbzeb#material/qjmy2akp]Authoring Services[/url] or contact us at office@geogebra.org[br]
GeoGebra applets can be easily integrated into assessment environments if you pay attention to a few details.[br]In this introduction we'll show you how an assessment item is created based on a simple example.[br][br][b]Note:[/b] If you haven't created GeoGebra applets yet you may want to look at our [url=https://www.geogebra.org/m/XUv5mXTm]GeoGebra Classic tutorial[/url] first.
To be compatible with assessment systems, your GeoGebra assessment item should contain the following 4 boolean variables:[br][table][tr][td][i]validate[/i][/td][td]If this variable is set to [i]true[/i], the applet will give feedback to let students know if the given answers are correct. If the answer is wrong a hint can be shown (optional).[br][/td][/tr][tr][td][i]showanswer[/i][/td][td]If this variable is set to [i]true[/i], the answer to the question or task of the applet is shown. [br]Note: depending on the type of question more than one answer may be possible.[br][/td][/tr][tr][td][i]showsolution[/i][/td][td]If this variable is set to [i]true[/i], the complete solution to the question or a possible way to solve the task is shown.[br][/td][/tr][tr][td][i]correct[/i][/td][td]This variable should only turn [i]true[/i], when the question of the applet is answered correctly. This can be just one answer, but it can also consist of different partial answers. [br][/td][/tr][/table][b][br]Hint:[/b] Create those variables set to [i]false [/i](e.g.: enter [i]validate = false[/i] into the [i]Input Bar[/i]). Later on, you will still be able to edit the [i]correct [/i]variable to evaluate if the task has been solved successfully.[br]While working on your applet you may want to display checkboxes for the boolean variables [i]validate, showanswer [/i]and [i]showsolution [/i]so that you can easily switch their states to test your logic.
If your assessment item contains multiple inputs, we recommend to use one boolean variable per input, e.g. correctA, correctB, correctC. The final boolean [i]correct[/i] will then be [i]correct = correctA [math]\wedge[/math] correctB [math]\wedge[/math] correctC.[/i]
If an assessment item contains multiple inputs, e.g. multiple parts, you may want to consider partial credit. Instead of toggling the variable [i]correct [/i]between [i]true [/i]and [i]false, correct [/i]can also be a number between 0 and 1. We recommend to calculate [i]correct[/i] as follows:[br][i]allCorrect = {correctA, correctB, correctC}[br]maxscore = Length(allCorrect)[br]correct=Sum(allCorrect) / maxscore[/i]
[b]Applet size[/b][br]For ease of use on different screens the applet size should not be too big or too small. [br]We recommend a size of [i]800 x 500[/i]. This can be set when uploading the applet.[br][br][b]Font size[br][/b]The size of the axes labels and texts is set by the general font size. This can be done in the general settings of the app. A recommended font size is between [i]16pt[/i] and [i]20pt[/i] as it is not too small to read and not too big to lose much space for other elements.[b][br][br]Layout[br][/b]Separate instruction texts from graphs and geometric constructions to keep an overview of all elements, e.g. by using both [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/c/c8/Menu_view_graphics.svg/16px-Menu_view_graphics.svg.png[/img] [i]Graphics[/i] and [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] [i]Graphics 2[/i]. You can put graphs and geometric constructions on one side and texts on the other side.[br][b]Note: [/b]If you use axes in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/c/c8/Menu_view_graphics.svg/16px-Menu_view_graphics.svg.png[/img] [i]Graphics View[/i], add labels. Open the [i]Graphics Settings [/i]and set the label for each axis (e.g. [i]$\textsf{x}$[/i] for LaTeX style and sans-serif font). You can also choose a suitable grid and fix points to grid by using the [i]Style Bar[/i] of the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/c/c8/Menu_view_graphics.svg/16px-Menu_view_graphics.svg.png[/img] [i]Graphics View[/i].
Follow the instructions below to learn how to create an assessment item for positioning a point to given corrdinates.[br][br][table][tr][td]1.[/td][td][br][/td][td]Randomize your question by using random numbers. Create the coordinates of a point by using the commands [i]xA = RandomBetween(-8, 8)[/i] and [i]yA = RandomBetween(-8, 8)[/i].[br][/td][/tr][tr][td]2.[/td][td][/td][td]Then create a point by typing [i]Acorrect = (xA, yA)[/i] into the Input Bar. The point is displayed in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/c/c8/Menu_view_graphics.svg/16px-Menu_view_graphics.svg.png[/img] [i]Graphics View[/i].[br][/td][/tr][tr][td]3.[/td][td][icon]/images/ggb/toolbar/mode_text.png[/icon][/td][td]Use the [i]Text[/i] tool and click inside the[i] [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] Graphics 2 View. [/i]Enter the instruction text for the task [i]\textsf{Position the point \(A\) at\\the coordinates \(Acorrect \).}[/i] using LaTeX formula and select [i]Acorrect[/i] from the [i]Objects[/i] to display the coordinates of the demanded point at the right place.[/td][/tr][tr][td]4.[/td][td][icon]/images/ggb/toolbar/mode_point.png[/icon][/td][td]Create a new point [i]A[/i] using the [i]Point[/i] tool and clicking inside the [i][img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/c/c8/Menu_view_graphics.svg/16px-Menu_view_graphics.svg.png[/img] Graphics View[/i]. According to the task, this point should be positioned at the specified coordinates.[/td][/tr][tr][td]5.[/td][td][icon]/images/ggb/toolbar/mode_move.png[/icon][/td][td]Open the [i]General Settings, [/i]select tab [i]Grid[/i] and set [i]Point Capturing[/i] to [i]Fixed to Grid. [/i]Now point [i]A[/i] will only be movable along the grid. Change the color to black, set the point size to 9 and change the caption of point [i]A[/i] to [i]$\textsf{A}$ [/i]in the settings of [i]A[/i].[/td][/tr][tr][td][i][/i][i][/i][i][/i]6.[/td][td][icon]/images/ggb/toolbar/mode_buttonaction.png[/icon][br][/td][td]Create a button for updating the construction by using the [i]Button[/i] tool. Enter [i]$\textsf{new}$[/i] for [i]Caption[/i] and [i]UpdateConstruction[ ] [/i]into the first line of the [i]GeoGebra Script[/i]. Confirm by pressing [i]OK[/i].[br][b]Note:[/b] When pressing the button, the random coordinates of [i]Acorrect[/i] are updated and a new problem is displayed in the instruction text. You can also use keyboard shortcuts to get a new problem (e.g.: Windows F9).[/td][/tr][tr][td]7.[/td][td][/td][td]Check if the coordinates of [i]A [/i]are equal to [i]Acorrect [/i]by changing the boolean variable [i]correct[/i] to [i]correct = (A == Acorrect). [/i]The boolean variable [i]correct [/i]will now only be true if [i]A [/i]is positioned to the right place.[br][/td][/tr][tr][td]8.[/td][td][/td][td]Another option would be to check both x-coordinate and y-coordinate of point [i]A[/i], for a better feedback. Create two boolean variables [i]c1 [/i]and [i]c2 [/i]with:[i] [br]c1 = xA == x(A)[br]c2 = yA == y(A)[br][/i]Define [i]correct[/i] as [i]correct = c1 && c2[/i]. The boolean variable [i]correct [/i]will only be true if [i]A [/i]is positioned to the right coordinate.[i][/i][/td][/tr][tr][td][/td][td][/td][td][/td][/tr][tr][td][/td][td][/td][td][/td][/tr][/table]
Create text objects to give certain feedback when checking the student's answer by following the instructions below.[br][br][table][tr][td]9.[/td][td][/td][td]To get general feedback about the correctness of the answer enter [i]plaintextCorrect = If(correct, "Correct!", "Incorrect.") [/i]into the [i]Input Bar[/i].[i] [/i][/td][/tr][tr][td]10.[/td][td][icon]/images/ggb/toolbar/mode_text.png[/icon][/td][td]This object can be embedded into a text object so that it is written in LaTeX and made bigger than the rest of the text. Use the [i]Text[/i] tool in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] [i]Graphics 2 View[/i], enter [i]\textsf{\large{plaintextCorrect}} [/i]in the dialog window and select [i]plaintextCorrect[/i] from the [i]Objects[/i].[/td][/tr][tr][td]11.[/td][td][/td][td]As the text should only be displayed when the student's answer is validated, open the settings of the text object, select tab [i]Advanced [/i]and enter [i]validate [/i]for [i]Condition to Show Object[/i].[br][b]Note[/b]: Now the text is only displayed when [i]validate[/i] is true.[/td][/tr][tr][td]12.[/td][td][icon]https://www.geogebra.org/images/ggb/toolbar/mode_text.png[/icon][/td][td]To give extra feedback about the x- and y-coordinates, create a feedback text using a check or a cross to keep it simple. Enter [i]checkX = If(c1, "✔", "✘") [/i]into the [i]Input Bar[/i]. Create a LaTeX text using the [i]Text[/i] tool in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] [i]Graphics 2 View[/i], entering [i]\textsf{x-coordinate\quad\large\bold{checkX}}[/i] in the dialog window and selecting [i]checkX[/i] from the [i]Objects[/i].[/td][/tr][tr][td]13.[/td][td][icon]https://www.geogebra.org/images/ggb/toolbar/mode_text.png[/icon][/td][td]Repeat step 12 with [i]checkY = If(c2, "✔", "✘") [/i]and LaTeX text [i]\textsf{y-coordinate\quad\large\bold{checkY}} [/i]with object [i]checkY. [/i]Change the settings for both LaTeX texts and enter [i]validate && !showanswer && !showsolution [/i]for C[i]ondition to Show Object[/i].[/td][/tr][tr][td]14.[/td][td][icon]/images/ggb/toolbar/mode_text.png[/icon][/td][td]Create a hint text in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] [i]Graphics 2 View[/i] using the [i]Text [/i]tool and enter [i]\textsf{Coordinate style: \((x, y)\)} [/i]using LaTeX formula. As this hint should only be displayed when the student's answer is validated and not correct, open the settings of the text object, select tab [i]Advanced [/i]and enter [i]validate && !correct [i]&& !showanswer && !showsolution[/i] [/i]for [i]Condition to Show Object[/i].[/td][/tr][tr][td]15.[/td][td][icon]/images/ggb/toolbar/mode_text.png[/icon][/td][td]Create a solution text in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] [i]Graphics 2 View[/i] using the [i]Text [/i]tool. Enter [i]\textsf{x-coordinate: \( xA\)\\\\[i]\textsf{y-coordinate: \( yA\)[/i]} [/i]as LaTeX formula and select [i]xA [/i]and [i]yA [/i]from the [i]Objects [/i]to display the right x- and y-coordinates of the point at the right place.[/td][/tr][tr][td]16.[/td][td][/td][td]As this solution text should only be displayed when showsolution is true, open the settings of the solution text, select tab [i]Advanced [/i]and enter [i]showsolution [/i]for [i]Condition to Show Object[/i].[/td][/tr][tr][td]17.[/td][td][/td][td]Right-click (MacOS: Ctrl-click) on the point [i]Acorrect[/i] and deselect [i]Show Label. [/i]Open the settings of [i]Acorrect[/i], change the point size to 9 and enter [i]showanswer [/i]for [i]Condition to Show Object[/i] on tab [i]Advanced.[br][/i][b]Note: [/b]Now [i]Acorrect[/i] (the answer to the task) is only displayed when [i]showanswer[/i] is true. You may also change the [i]Layer[/i] of [i]Acorrect [/i]to 1 on tab [i]Advanced [/i]so point [i]A [/i]cannot hide the correct answer.[/td][/tr][tr][td][i][/i][i][/i][i][/i][i][/i][i][/i][i][/i][br][/td][td][/td][td][/td][/tr][/table]
[table][tr][td]dynamic color for texts/objects[/td][td]Change the colors of your feedback texts. Make the solution text blue and change the color of [i]Acorrect[/i] to blue as well. Change the color of the hint text to orange.[br]For the feedback text telling if the answer is correct or incorrect open the settings of the texts and set the color on tab [i]Advanced [/i]to use [i]Dynamic Colors [/i]as follows: [br][i]Red: If(correct, 21/255, 204/255) - Green: [i]If(correct, 101/255, 102/255)[/i] - Blue: If(correct, 192/255, 0)[/i][br]Add dynamic colors in the same way for the x- and y-coordinate feedback texts using the boolean variables [i]c1[/i] and [i]c2 [/i]as conditions.[i][/i][br][/td][/tr][tr][td][i][/i][i][/i]Fix objects[br]Absolute position on screen[/td][td]Position your texts in the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/b/bf/Menu_view_graphics2.svg/16px-Menu_view_graphics2.svg.png[/img] [i]Graphics 2 View[/i]. Right-click (MacOS: Ctrl-click) on each text and select [i]Fix Object [/i]and [i]Absolute Position on Screen [/i]when done, so they cannot be moved by accident. [br][/td][/tr][tr][td]Allow/forbid selection[/td][td]There are objects that should not be selectable by the user - for example the axes or point [i]Acorrect[/i]. Open the settings of these objects and uncheck [i]Selection Allowed[/i] on tab [i]Advanced[/i]. Hide objects that were only needed to create your item but shouldn't be shown in your applet (e.g.: [i]plaintextCorrect[/i]).[/td][/tr][tr][td]Naming of selectable objects[/td][td]For accessibility reasons it should be possible to reach all selectable objects in a sensible order by pressing the tabulator key. This can be ensured by renaming the selectable objects alphabetically in the order they should be tabbed (e.g.: [i]a1, ..., a9, b1, ..., b9, etc.[/i]).[br][b]Note: [/b]Don't forget to change the name of point [i]A [/i]as well (e.g.: to [i]a2[/i]). [i][/i][br][/td][/tr][tr][td][i][/i]Hide Algebra View[/td][td]Close the [img width=16,height=16]https://wiki.geogebra.org/uploads/thumb/4/40/Menu_view_algebra.svg/16px-Menu_view_algebra.svg.png[/img] [i]Algebra View [/i]by unchecking it in the [i]View [/i]menu.[/td][/tr][tr][td]Upload item[br][/td][td]Upload your file to your GeoGebra account. Edit the size of your applet (e.g.: [i]Width: 800,[/i] [i]Height: 500[/i]) in the [i]Advanced Settings[/i]. Change the layout of your item, so everything is shown properly. Click [i]Done [/i]and [i]Save & Close[/i] to finish uploading the item to your account.[/td][/tr][tr][td]Test item[/td][td]Review your uploaded item and test all different cases for validation, showing the answer and the solution by (un)checking the checkboxes.[/td][/tr][tr][td][/td][td][/td][/tr][tr][td][/td][td][/td][/tr][/table]