Hey, this is super interesting! We have been working on a quite similar system over the past few years at Université de Montréal. We develop and use codeBoot (https://codeboot.org) to teach introductory programming courses there. We also wrote an executable book for teaching a Cegep course (think last year of high school in the US). You can find it here (https://420-sn1.codeboot.org/) but mind you, the English version is not completed past chapter 1. The book was written in French.
Our tech stack is different but the choices we made are quite similar. Multi-tiered platform, markdown for authoring, executable exercises, teacher platform to produce, give, receive and grade homework/exams, etc. A distinguishing characteristic is that codeBoot's Python interpreter (pyinterp) allows single-stepping through the code. That's quite useful for teaching and studying.
We have a few exciting features coming up and we're working on a proper landing page and clean English translation for the book. If anybody is interested to learn more, reply here or contact me (email in my profile). I'd love to connect with educators, students or hackers alike!
> The single biggest obstacle a beginner hits with any language is not the conceptual understanding. It is the install.
Is that _really_ the case? I find it very unlikely (not just in an OCaml context).
Yes, definitely the case. Just imagine a class with 100 students, each with a system that has its own quirks (OS, browser, and a mix of versions, etc). We built codeBoot (https://codeboot.org) specifically for this reason!
In my experience you can just tell AI to install it and it will figure out all of those quirks on its own.
Yes for me (although difficulty varies depending on what you're trying to install). I would have started programming 2 years earlier than I actually did if my first attempt to install tools to run a programming language had worked.
You have to precisely follow a sequence of instructions without the experience to understand their purpose, or any idea of how to fix things if you make a mistake.
Web technology is an exception to this. People already have a web browser, and ignoring mobile devices, browsers come with a js REPL.
I remember this being true for me, a long, long time ago. There was something like a four year gap between me being able to munge linked lists in TiBasic and me being able to reliably install java and compile System.out.println(“hello world”)
Yes. The reason I ended up being a python dev is that way back in the day there was a free, easy installer that ran on my machine, including a functional if basic IDE with syntax highlighting. This was Python 1.5 on a Mac Classic. Even getting a C compiler would have been a major lift, this was in the modem days so downloading was always an adventure.
You don't get to hit other obstacles if you don't have the ability to run the code and play with it.
Interesting next step for Literate Programming.