Many schools teach Python, often as a first text-based programming language, and often at GCSE level (age 14-16), or sometimes earlier.
This makes a lot of sense since Python has a simple syntax, is quite an easy language to get started with. and, of course, the point of teaching computing at that level is not to turn out a school’s worth of fully fledged professional programmers.
However, Python isn’t a toy language, and it includes advanced concepts such as objects and identity, immutability, parameter passing, non-ASCII characters, etc which students might happen across and be curious about. In these articles I hope to address some of these concepts in an accessible way.
Please visit schoolcoders.com to see my collection of classroom resources for teaching Computing GCSE.