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
My thesis is basically: most of *deep* programming knowledge is getting the flexibility to paradigm shift, & the easiest way to get that is exposure to lots of paradigms. Most of the difficulty in learning real languages is memorizing inessential syntax details.

Esolangs are all paradigm and no syntax, so they can be learned more quickly because they make no consessions to reality.

Solving the same problem in brainfuck, befunge, pure prolog, and forth will level you up.

@aparrish
But, a simpler way to do this would be to choose a couple problems and show very different ways of implementing them. (Say, showing where a loop makes more vs less sense than recursion)
@aparrish @enkiv2 isn't DrRacket designed around this? Switch off specific features of the language and do it again

@LogicalDash @aparrish
I'm not familiar with that at all, & will have to look into it.

It's the logic behind language survey courses and the "seven languages in seven weeks" books. I think those examples compromise too much, choosing marginally useful languages even when utility for real problems is counterproductive.

@aparrish @enkiv2 DrRacket is just "all the LISP" so maybe not what you wanted
@enkiv2 that makes sense. I'd love to see a whole curriculum designed around this and similar ideas (or at least some academic literature to help prove to my department that we should adopt something like it 🤔)