Freeform Modelling
Freeform modelling
In addition to allowing authors to create exercises where students fill out a pre-made model, we provide a question type for exercises that ask students to draw their own diagrams. We call this question type freeform modelling. Notably, freeform models differ from the bar model method question type in two ways.
- Our system does not evaluate freeform models.
- Algebrakit does not automatically provide an arithmetic exercise to accompany a freeform model.
The purpose of freeform model exercises is to have students draw their own models to support their reasoning when solving an exercise. Often, they accompany a question type evaluated by Algebrakit as a support for students, such as multistep.
Starting model and solution
An author needs to define two models for a freeform modelling exercise.
The first model you need to define is the starting model. The starting model is the model the student starts working with. Often, the starting model is the simplest possible model, consisting of a single block. This way, students can draw their own models from scratch. Sometimes, you want students to edit a more complex model. In that case, you give that model as the starting model.
The second model is the solution. The solution is an example of a correct model to finish the exercise.
The toolbar

The toolbar at the top of the diagram contains several options, from left to right:
- A menu that contains an option to reset the diagram to its original state.
- A cursor to select elements in a diagram.
- A button to move rows, blocks and arrows.
- A button to delete a row, block or arrow.
- A button to create a block.
- A button to create a horizontal arrow.
- A button to create a vertical arrow.
- Buttons to undo or redo an action.
When you use the cursor tool to select a row, block or arrow, another toolbar will appear. This toolbar may contain additional options:
- A button to add and remove labels for rows and blocks.
- A button to change the width or height of a block or arrow.
- A button to change the colour of a block.
- A button to change the number of subdivisions of a block.
Adding elements
You can add blocks and arrows using the buttons in the top toolbar.
Adding blocks
To add a block, select the create block tool. You can add a new block either before or after an existing block, or on a new line below or above existing elements.


Adding arrows
To add an arrow, select the create horizontal arrow or create vertical arrow tool, and select the start and end points of the arrow. For horizontal arrows, the start and end points of a block, the lines dividing subdivisions of a block, and the start and end points of another horizontal arrow are valid start and end points. For vertical arrows, each row of blocks is a valid start or end point.


Moving elements
To move an element, click the move tool, and select the element to move. You can move individual blocks and arrows, as well as entire rows.
Note that specific actions, such as moving blocks, can create situations in which other elements become invalid. Elements that are no longer valid will be deleted after performing this action. An element that disappears after an action will receive a red highlight.
You can only use the move tool to move arrows between rows or columns. To move arrows within a row or column, use the change width or change length tool.
Deleting elements
To delete a block, arrow or row, click the delete tool and click the element you want to delete. Deleting an element will also delete any elements that depend on it. For example, deleting a block will also delete any arrows that use that block as a starting point. When you hover over an element with the delete tool active, all elements that will be deleted once you click will receive a red highlight.


The pop-up toolbar
When you select an element with the select tool, the pop-up toolbar appears. This toolbar includes options to modify the selected element and may include options not available in the main toolbar. The pop-up toolbar includes options to configure:
- The presence of labels of rows and blocks.
- The number of subdivisions of a block.
- The width of blocks and the width and height of arrows.
- The colour of blocks.
Toggling labels
You can add a text label to rows and to individual blocks. You can toggle a label on or off in the pop-up toolbar for rows and blocks.
Adding subdivisions
You can divide a block into multiple subdivisions. A block needs to be sufficiently wide to accommodate a specific number of subdivisions. You can also set the number of subdivisions to unknown, denoted by a question mark, to indicate that the number of parts is not currently known.


Changing height and width
You can change the height and width of blocks and arrows. You can freely adjust the width of a block by dragging. To change the width of a horizontal arrow or the height of a vertical arrow, you can change one of the bounds of an arrow to another available bound.
Changing colour
You can change the colour of individual blocks.