That sounds very cool, Matthew. I had to look up his work to jog my memory and found this:
Tim Ferris - DiSSS.
Isaac and I were recently talking about how there are so many tutorials on the web, and you can learn a lot by following them, but sometimes its hard to see how each fits into a larger cohesive pattern. So right away, you're idea is a nice response to that reality. Giving students an initial path which provides an overview, while still being digestible, and letting them specialize from there, seems like a smart idea. It would provide a common foundation too.
There is some prior art we might want to consider as well.
This free video course, How to Code: Systematic Program Design, is highly rated by its alumni. It's based on the How to Design Programs online book, which is an in-depth, open-licensed text from MIT, which has been vetted by students for over 15 years. They both use Basic Student Language, which is a small curated subset of Racket, which shields the student from unnecessary language details in their earliest days.
Personally, and with great respect for the awesome work done by these groups, I think we could improve upon the design recipe they use by simplifying it further and making it more relevant to Clojure or ClojureScript. Clojure has less of a focus on test-driven development than these other communities. I've had some recent discussions with experienced Clojurists who promote the idea of writing your function and seeing what it does as early as possible, and refine from there. And now we have Spec to find corner cases for us, so that's even more reason to explore our own design recipe.
Also, there's the work of Elena Machkasova - Adapting Clojure to an Intro CS Classroom. It would be highly interesting, and probably worthwhile, for us to touch base with Elena to see how their work is progressing and to look for possible synergy in our respective efforts. We could invite her to an upcoming online discussion.
Back to the core of your idea, it would be interesting to see how much mileage we could get by structuring the path around Rich Hickey's building blocks (Identity, Values, Time). I was just thinking the other day about names and namespaces and what a big piece of the learning pie they are -- Identity! Boom. Start there and tie as much as we can back to the core value proposition of Clojure itself.
Daniel Higginnbotham does an excellent job of this in this article: The Unofficial Guide to Rich Hickey's Brain. For me, it would nice to study a course in which these building blocks were continually revisited and expanded on, as my understanding grew.
Also, regarding prior art. I have yet to go through the Modern ClojureScript tutorial, which is highly recommended by the authors of Boot.
And finally, it would be wonderful to emulate the visual capabilities of Dr. Racket. Proto-Repl seems like and awesome up-and-comer in the Clojure editor space, which is based on web technologies too. A nice bonus.
In any case, I think your suggestion is a great agenda item for our upcoming discussions. I'll send out an official announcement, but I decided to host a discussion all three Saturdays, to accommodate as many people's schedules as possible, so look out for an email and forum post soon with dates (Feb 25, Mar 4, Mar 11), times (2pm EST / 7pm UTC) and links (still evaluating online meeting services).
Thanks for the being the first to post, Matthew. You made my day : )