-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Description
When using this devcontainer for tutorials and training sessions, instructors need tools for classroom management: distributing quizzes, collecting answers, sharing live terminal sessions, and monitoring student progress. There is no single open source tool that covers all these needs, but a recommended combination should be documented.
Research: Open Source Options
Full Classroom / LMS Platforms
- ClassroomIO — Modern open source LMS with quizzes (multiple-choice, true/false, short answer), assignments, grading, certificates. Clean UI, minimal setup.
- BigBlueButton — Virtual classroom with polls, quizzes with real-time results, whiteboard, collaborative editor, chat. Integrates with Moodle.
- OpenEduCat — Classroom management with electronic quiz creation, grading, and performance analytics.
Screen / Desktop Sharing & Monitoring
- Veyon — Cross-platform computer control. Teacher can share screen, monitor student screens, lock machines, chat. Good for in-person labs.
Live Coding / Terminal Sharing
- tmate — Instant terminal sharing via URL. Read-only mode available. Works well with `devcontainer exec`.
- Coding Rooms — Real-time view/edit/comment on student code (not fully open source).
Code Distribution & Collection
- GitHub Classroom — Distribute exercises and collect solutions via repos (free, not open source).
Notebook Distribution Workflow
For instructors using Jupyter notebooks (#20), a distribution workflow is needed:
- Git + Docker: KC Sivaramakrishnan's approach — course repo with notebooks, students clone and run in Docker container. Simple but requires git knowledge.
- GitHub Classroom + nbgrader: Distribute assignment notebooks via GitHub Classroom repos, students complete them in the devcontainer's JupyterLab, collect via `gh classroom clone student-repos`, grade with nbgrader.
- JupyterHub: Multi-user Jupyter server where instructor pushes notebooks to student accounts. More infrastructure but zero git requirement. Overkill for most training sessions.
- Reference: patricoferris/ocaml-teaching has a working nbgrader example built on KC's images.
Proposed Action
Add a `docs/classroom-setup.md` guide recommending a practical toolset for OCaml training sessions using this devcontainer. A pragmatic combination might be:
- BigBlueButton — video/screen sharing and polls
- GitHub Classroom — distributing exercises, collecting solutions
- tmate — sharing live terminal sessions with trainees
Acceptance Criteria
- Recommended classroom tools are documented
- Integration with the devcontainer workflow is explained (e.g., tmate inside the container)
- Setup instructions are provided for at least one recommended combination
- Notebook distribution options are documented for Jupyter-based teaching
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels