-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
Description
Hi,
my name is Volodymyr Obrizan, PhD, I've integrated Pyodide in my LMS to teach students Python.
It has two use-cases:
- Show interactive Python code examples inside text learning materials.
- Verify programming assignments.
- Show step-by-step variable values.
In the proposed blog post I'd like to cover:
- Architecture: Django app — HTML/JS — Monaco Editor — Pyodide.
- JavaScript code integration details between Code Editor and Pyodide.
- ServiceWorker solution to handle infinite loops in Python codes (timeout whatchdog).
- Test runner (in-browser assignment checker) integration with Pyodide.
- Pros of Pyodide: a) instant feedback; b) no need for server resources to check assignments, so it could be scaled to many students without increasing number of servers.
The Pyodide implementation already in production: https://first.institute/en/edu/course/basic_python/task/linear_search/ (the tasks are in Ukrainian right now as I'm Ukrainian and teach Ukrainians, but for the blog-post I'll translate tasks to English). Here is a short demo showing instant assignment feedback thanks to Pyodide:
Screen.Recording.2025-09-18.at.11.08.00.mov
P.S.
I'm aware of rejected similar blog post (#23, #24), so I'll keep my post technical-oriented.