Algorithm Question Type
A quiz question in which the student draws an algorithm as a flowchart and can run it before submitting. With tests, the answer is graded automatically.
Live demo: try the plugin on algorithm.tsp.edu.rs. Log in as a guest, or use the demo accounts teacher and student (password Demo-2026). Everything is reset every night.
What's New in v2.2.0
- Matrices as parameters: functions in an answer can take a matrix, m: Integer[,]; automatic grading runs them exactly like the editor.
- With tiny_algorithm 2.2: arrows on the connections, and during Run and Step the branch each condition takes and the lines of the code of the current block are marked, for the student and for the teacher who reviews the answer.
Core features
- Draw the algorithm: the same editor as in TinyMCE, with Run / Step, variable watch and generated code.
- Runnable review: the teacher can run and step through the submitted diagram while grading.
- Automatic grading: the teacher enters only the test inputs; the expected outputs are computed from the teacher's solution. Without tests the answer is graded manually.
- Flexible tests: weights, function tests that call one function, comparison options (capital letters, spaces, a tolerance for numbers), hints and several tries, statistics per test.
- Hidden tests and required structures: If, For, While, Do loop, array, matrix.
- Analyse an algorithm: put an interactive diagram in the question text (needs filter_algorithm).
The algorithm plugins
Requirements
- Moodle: 4.5 LTS to 5.3 (PHP as required by your Moodle version; tested on all of them).
- tiny_algorithm: version 2.2.0 or newer; filter_algorithm is optional (interactive diagrams in question text).
Privacy
The student's answer is stored by the Moodle question engine like any other answer; the diagram runs in the browser and, for automatic grading, on your Moodle server; nothing is sent to external services. Test inputs and options are stored with the question. The plugin implements the Moodle Privacy API.
Developed by Boban Blagojević. Languages: English and Serbian (Latin and Cyrillic).
Source, documentation and issue tracker:
github.com/blagojevicboban/moodle-qtype_algorithm
Licensed under the GNU GPL v3 or later.