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.
Features
- Draw the algorithm with 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.
- Hidden tests and required structures (If, For, While, Do loop, array).
- Analyse an algorithm: put an interactive diagram in the question text (needs filter_algorithm).
What's new in 1.1.0
- Keyboard: the question can be answered without a mouse (with tiny_algorithm 1.1), and Enter in a field of the editor no longer submits the quiz page.
- Error messages of the algorithm are in the user's language, in the attempt and in the review (the server translates them too).
- Opening a question with a starting template no longer counts as an answer, and a saved answer is no longer marked as changed when the page loads.
- Limits that keep grading fast: at most 2000 blocks per answer and 100000 elements per array; a larger answer is reported to the student.
- Unit tests (question, question type, Moodle XML, tester) and screenshots.
Requirements
- Moodle 4.5 LTS to 5.3 (PHP as required by your Moodle version; tested on all of them).
- The tiny_algorithm plugin, version 1.1.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.
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.