Coding is one of the skills I have wanted to learn and wanted to teach my daughters. I occasionally find a new way to do this. Swift playgrounds is one of these ways. I had it for months on my iPad before I ever tried it. Luckily I finally did. Swift Playgrounds has three different “chapters” each teaching different things and also using different methods. The language taught here is Swift, which is a programming language created by Apple and used to build apps for iPhones and iPads etc. However, focusing one the language distracts from the excellent content on learning about the structures found in several languages. It teaches about variables, loops, arrays etc. These are all things found in Ruby, Python etc. I am currently in the middle of the third chapter. One does need to be able to read and write english to play with this, so my kid cannot do this yet. But for me, it was just the thing I needed. I think for a kid 9 years -> who can read and write English, this is an excellent way to learn coding.
In chapter 1 and part of 2, the idea is to solve puzzles using code. It starts out sufficiently simply to not need any previous experience in coding. One is instructed sufficiently to guide a character through a level to pick up gems, toggle switches etc. This is a far departure from the usual way of teaching to code and for me, it was absolutely fantastic. I like solving puzzles and I could try out different ways in code to see which would work and which would work even better. I could see the result right there as the character I guided with the code did as I coded for it to do. The instruction is sufficient to learn to solve the puzzles and start to understand loops and variables. When it starts on arrays, it slowly starts to look and behave more like the usual way of learning to code online where you just need to type up some stuff in ready made code and is far less efficient, but part 1 and the beginning of part 2 was unusually efficient and fun. In part 3 it continues in the less effective means of asking just to add a bit here and there in between ready made code.
I highly recommend part 1, slightly less part 2 and part 3 is ok.