Contributed by @agarciadom.
In order to support teaching, it would be good to implement a guided activity where students are given some starting instructions, and then are taken through a step-by-step process to complete a given exercise, with interim checks on their progress.
I’d suggest breaking it up like this:
-
Allow activities to optionally specify an optional block of formatted text (e.g. Markdown) to introduce the activity when they first open it. This introductory text should be revisitable after being dismissed.
-
As a first step, allow an activity to optionally specify a check that they are “done”.
- This could be done as a combination of a reference to a tool function and a Parameters object. We should be able to reuse most of our tool function logic.
- We could impose a certain expected format for the output from such a check. For instance, it could be text that follows this format:
OBTAINED/MAXIMUM
(additional feedback in Markdown format, if any)
- We’d need some validation logic to check that the output from the check follows the above expected format.
-
Generalise from a single check at the end to a sequence of steps, where each step has an ID, a description, and a check (as above) to advance to the next part.
- Optionally, there could be a minimum score required to advance to the next step. If unspecified, we could just ask for full marks (in a simplified pass/fail scenario we'd just have 0/1 or 1/1 marks).
-
(Optional) Implement some form of local storage to allow for continuing from where we left off, if the student closed their browser tab for some reason?
Contributed by @agarciadom.
In order to support teaching, it would be good to implement a guided activity where students are given some starting instructions, and then are taken through a step-by-step process to complete a given exercise, with interim checks on their progress.
I’d suggest breaking it up like this:
Allow activities to optionally specify an optional block of formatted text (e.g. Markdown) to introduce the activity when they first open it. This introductory text should be revisitable after being dismissed.
As a first step, allow an activity to optionally specify a check that they are “done”.
Generalise from a single check at the end to a sequence of steps, where each step has an ID, a description, and a check (as above) to advance to the next part.
(Optional) Implement some form of local storage to allow for continuing from where we left off, if the student closed their browser tab for some reason?