hey mastodon, throw all your programming pedagogy links at me. I teach a lot of beginner programmers and I want to get better at it!

@aparrish How experimental are you willing to go?

I have some theoretical justifications for teaching beginners to solve simple problems in a variety of esolangs. 😉

@enkiv2 I am willing to be extremely experimental tbh

@aparrish Another nice experimental technique: teach them about stacks and associative arrays, then have them try to implement a toy forth-like stack language. Then, ask them to write something in it.

Parsing in a toy forthlike is easy (just split by whitespace), & keeping track of parameters and functions is also easy (two stacks). So, it's within the realm of possibility for beginners to implement.

@aparrish
This is basically the SICP method, except with forth instead of scheme: understand the concept of a program by understanding how an interpreter works, by writing one.
@aparrish
Depending on exactly how beginner your beginners are, it might be out of scope, but I wouldn't overestimate it -- it's important for programmers to learn not to mystify compilers and interpreters early, and toy-forth is a lower bar than most.
@enkiv2 the problem is that I teach in an arts program where the intro to programming curriculum is very interactivity-centric. it's a challenge to work an exercise like this in among, e.g., "make an ellipse follow the mouse!" but a worthy challenge, I think

@aparrish Maybe implementing something more like turtle would be more thematic. There's more complexity in some ways & less in others.

(On the forth side, I'm sure there's a subset of postscript that isn't super ugly. Also if you teach a little postscript people can go home and write code directly into their printer, which is a nice trick.)