From server to browser

Evolving technologies for accessible interactive coding tutorials

Damien Dupré - DCU Business School

Forget Python, Study Plato?

Is Teaching Coding still relevant in the Age of AI?

Harvard Business Review, October 2012

The Economist, May 2026

While AI codes extremely well, we need to keep the human-in-the-loop and teach all students, from all discipline, how to read and understand code.

Generation 1:
Local Coding Installations

The install screen is the first filter

Asking students to build and maintain their own coding environment sorts them long before any assessment does. It sorts them by:

  • prior exposure to terminals, paths and permissions
  • the hardware they can afford to bring to class
  • the operating system that happens to be on it
  • whether they have someone to ask when things break

The students who most need coding skills are the most likely to drop out before week two, not because of the material but because of the setup.

Generation 2:
Cloud-hosted Solutions

Cloud-hosted vs. local

A full IDE in a browser tab, No local installation, Familiar workflows for staff, GPU access in some tiers: Powerful, but rented.

4 forces that made it possible

  • Cheap elastic compute after AWS EC2 (2006)
  • A browser capable of hosting a real editor
  • Containers (Docker) to reproduce environments at scale
  • A teaching audience beyond computer science that could not be asked to configure toolchains, then a remote-learning shock in 2020

Cloud IDEs were not a new idea. They were the moment when all four became simultaneously true.

Focus on MyBinder

MyBinder packages a GitHub repository into a live, reproducible environment behind a single URL.

Used in production for DCU R Tutorials and DCU Python Tutorials:

  • one click from the course site to a running session
  • no accounts, no installation
  • reproducibility pinned in the repository

But the foundations are shared, public, and free.

Focus on MyBinder

Open in new tab ↗

Limits of cloud-hosted solutions

  • Cold-start delays of 30 seconds to several minutes
  • Capacity limits on the public service
  • Outages at unfortunate moments (week-12 demo day)

Generation 3:
WebAssembly in the browser

WebAssembly in the browser

A new substrate: full language runtimes compiled to WebAssembly, executing inside the learner’s browser tab (webR for R and Pyodide for Python).

No server. No login. No install. Just a URL.

Quarto Live: the glue

The Quarto Live extension embeds editable, executable code cells inside static HTML documents, powered by webR and Pyodide.

  • author once in Markdown
  • publish anywhere static files are served (e.g., GitHub Pages, …)
  • learners hit Run and the cell evaluates client-side

Live demo: webR in the slide

Edit the code below and press Run Code.

Running entirely in your browser. No server was contacted to draw that plot.

Final thoughts

Pedagogical affordances

  • Exercise scaffolding: starter code, hints, blanks
  • Reactive outputs: change a parameter, redraw a plot
  • Inline narrative: prose and code on the same page

What this changes for educators

  • Lower hosting cost: static files only
  • Higher shareability: a link is the whole artefact
  • Easier reuse across institutions and languages

Equity for learners is, quietly, also equity for the educators who build and share resources.


Thanks for your attention

and don’t hesitate to ask if you have any questions!