Marimo is a computational notebook that lets data scientists mix code, discussion, and results. Its plugin system relies on AnyWidget, which specifies a simple contract between extensions and Marimo. The aim of this project is to design, build, and test a set of Marimo plugins for classroom exercises similar to those in H5P: multiple choice, fill in the blanks, and so on.
-
Clone this repository.
-
Create and activate a Python virtual environment.
- E.g., if you are using uv, run
uv venv
and thensource .venv/bin/activate
.
- E.g., if you are using uv, run
-
Install the dependencies in
pyproject.toml
.- E.g., run
uv pip install -r pyproject.toml
.
- E.g., run
You may also want to clone the Marimo repository.
- Many professors and students preferred straightforward, simple, and common exercises like multiple choice, fill in the blank, and true or false
- Professors also found more unique widgets to be useful for the specific courses that they teach
- For example, the professor who teaches a Machine Learning course shares their opinion that it would be useful to see widgets where students can interact with the data, such as drawing decision boundaries.
- Students overall chose more interactive and quick activities like Drag the Words or Sort the Paragraphs over ones that required more writing or detail like Essay
- Professors also chose interactive activities but recommended against gamification and relying on too many images
Below are a few of the H5P plugins suggested by professors and students, along with some differences noted between the H5P versions and those from other online learning platforms:
Widget | H5P Features | Other Implementations | Summary |
---|---|---|---|
Multiple Choice |
|
Canvas
|
|
Sort the paragraphs |
|
D2L Creator+ (extra D2L package)
|
|
Branching Scenario |
|
Elucidat
|
|
Chart |
|
JSXGraph (Moodle’s plugin)
|
|
Course Presentation |
|
reveal.js (Moodle plugin)
|
|
Interactive Video |
|
|
|
Fill in the blanks |
|
Canvas:
|
|
Drag the words |
|
Blackboard Learn
|
|
Interactive Book |
|
Genially
|
|
Structure Strip |
|
Canvas
|
|
- Quiz (Question Set)
- Useful in between lessons or at the end of modules to reinforce students’ understanding with different types of questions available (multiple choice, fill in the blanks, drag the words, etc.)
- Cornell Notes
- Useful for taking notes while watching a video or reading
- Dialog Cards
- Useful for students to do a quick self-check of whether they understood the material
- Similar to many students’ studying methods
- True/False
- Useful to test students’ knowledge, similar to Multiple Choice