Hedy: A Gradual Language for Programming Education
hedy-beta.herokuapp.com
hedy-beta.herokuapp.com
But Hedy seems to make the mistake that many curriculums do of focusing on the minutiae of syntax. Don't do that! Northeastern's course emphasizes broad concepts such as abstraction, accumulators, and generative recursion. Meanwhile, it uses simple s-expr syntax.
As someone who is taking the accelerated version of this course right now, but had prior functional programming experience, I did feel limited at first. Some other people responded negatively to the student languages because they weren't "mainstream."
As for the expressive power of languages, as a matter of fact, Felleisen wrote a paper that rigorously defines this idea. Here is a talk by Shriram Krishnamurthi that discusses it: https://pwlconf.org/2019/shriram-krishnamurthi/ It turns out that local transformations (macros) do not add expressive power. A language feature adds expressive power if you can find two programs that are observationally equivalent in the base language, but not the extended language.
As an aside, I think that these online courses are a valuable resource, but it still helps to provide some human supervision, to make sure that a student hasn't fallen into a rut and given up.
I think the biggest challenge in teaching someone programming is to teach them the way you have to "speak" to a computer and in what it differs to speaking e.g. to a waiter in a Cafe. Many people who teach programming sort of just assume this (they probably forgot how long it took themselves initially to get to the point where they could from this).
Man, I kinda miss Flash.
This idea of "gradual changes" is surely worth a test. Yeah, the rules might change - but at that level, the "rules" are just meaningless symbols anyway. If the ideas stick - and you truly understand them, not just memorize them - adapting will be a lot easier than recalling "oh yeah, for some reason there needs to be a semi-colon here".
I think it's really clever - I'm going to test-drive it on some unsuspecting nephews and neices.
I don't particularly like the syntax, I find it really hard to mentally "parse" the program and I wonder what's the takeaway from someone who can't already say "hey, they're trying to teach for-loops here". It's almost the opposite approach as the legendary SICP.
Also, by the love of god, disable that freaking popup. IT. LOADS. ON. EVERY. PAGE. 100,000th visitor? Seriously? Is this time-travel spam from 2002?
Also, "Please don't use uppercase for emphasis. If you want to emphasize a word or phrase, put asterisks around it and it will get italicized."
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&so...
The forum thread is such an intimate conversational genre that we're all inclined to wing it in the comments (and so we should), and at the same time it's common for people to see their own work discussed here, plus HN threads tend to rank high in search results, so the impact can go far beyond the room.