I’ve long struggled with the question of where to take kids after teaching them Scratch and am finally feeling I see way forward.
Scratch is absolutely wonderful for teaching younger kids programming. Not only does it not require extensive typing, it’s very forgiving and can quickly be used to make some rewarding games. Importantly the basic principles in Scratch transfer nicely to more complex languages. And Scratch can be used to put together some pretty sophisticated stuff. But there are limitations when compared to more developed languages, not least is the restriction on running inside the Scratch environment.
Last year for my high school class we moved a group on to learning Python using the excellent Grok Learning; but that comes with its own problems. The biggest limitation we found was simply that Python is so massively textual that it’s hard to find projects that really capture the students’ imagination. Grok did a great job of making little projects entertaining as a learning exercise, but that doesn’t translate into the sort of projects the kids are keen to pursue themselves. We tried using Pygame but there are many limitations with it – far too many for where our kids found themselves.
This has been a fascinating journey and a doubt we’re at the final answer yet. I’m feeling pretty good about this stage though.