On 07/05/2019 14:10, Maciej Janicki wrote: > I think teaching toy languages like Scratch is generally a bad idea. It might > be easy to learn, but it fails to show that programming is actually useful.
It depends what you're teaching. If you're teaching a programming language, then Scratch is not a programming language. If you're teaching programmatic thinking, Scratch is a perfectly good starting point. Not everyone learns best by reading text. Scratch provides a visual programming environment with immediate feedback which allows "hacking" and "feeling through" the problem. It's incredibly easy to create a basic clone of many computer games (e.g. Asteroids, Flappy Bird, Frogger) and that's something many children will immediately engage with. The only "real languages" which provide anything similar to that close feedback loop are those with REPLs (and if you want immediate graphics support that essentially means Racket). Anyway, I'm not going to try to persuade people about the best way to teach. It's up to you to experience that yourself and find a pedagogy which works for you. Teaching theory doesn't survive teaching practice ("no plan survives contact with the enemy", etc.). So, I'll reiterate: unless you are teaching a programming language, the language you choose doesn't matter as long as you know it and can explain it. (Unless, of course, someone can provide even anecdotal evidence to the contrary... though geeks remembering using CLIs with one-to-one help doesn't really count ;)
signature.asc
Description: OpenPGP digital signature