Code Angel is a Python and Raspberry Pi based approach to learning to code. It teaches coding through games and takes the approach of getting kids and beginners to type in complete listings. Code Angel has launched a Kickstarter campaign with award packages with and without a Raspberry Pi and physical book.
The Pi provides a great platform for learning to code in Python because everything is just setup and ready to go. Code Angel has been created by experienced computer science teachers. The Code Angel games include the graphics and sounds that you need so the end result is appealing. You also get videos that explain how the games work and the concepts that they introduce.
I learned to code back in the early 80s by typing in listings from C&VG magazines. A lot of people of skeptical about the effectiveness of such an approach as they think kids will type code in without knowing what it means.
My experience is that while you don't necessarily understand everything you type you learn more and more over time and you stay interested because you're able to create more ambitious projects. Also, this was true in the 80s and it's true now. You make mistakes and then you have to fix them. A lot of learning happens in this process.
Code Angel also has some benefits that 1980s code listings didn't have. The videos explain what you're doing and why. There's also an option to use 'Angel Fix My Code' credits to get help online. This is an interesting idea for those times when beginners just can't spot what's wrong.
Code Angel sent us over some sample content which I tried out on my 10 year old son. He can code in Scratch and has done a bit of Python so he's familiar with the basics but he'd never created a game with graphics before.
He created an Alien Invasion game using the sample materials. We loaded up the code on his iPad so he could get a feel for the experience of using a printed listed. He enjoyed the videos and they definitely helped him to understand what it was that he was typing in. He loves everything to do with Scotland so the accent was a bonus!
He learned loads from this process. He made mistakes and had to fix them. He learned that the feedback you get from Python is rubbish and it should be able to tell you a lot more than it does (the actual error is often on a different line to the one that's reported.) He made the effort to learn more keyboard shortcuts because it's faster. He did lots of copying and pasting and editing of similar code which made him take a closer look.
"I really enjoyed making it and I really enjoyed the final result."
He did fix syntax errors as he went along and was pleased to see things start appearing on the screen'. I think some kids would find it hard to keep going, but faster typers will get there more quickly.
My son's typing isn't that fast so it took him a few sessions to complete typing in the listing. He finished just before the Kickstarter campaign launched! He was very pleased with his accomplishment.
I think the idea of 'Code Angel Credits' for online help is interesting. My son asked me, but not everyone's Mum has a computer science PhD ;-) Though having just helped him debug his code where he had renamed lots of variables to make them shorter to type, but not quite done it consistently, I can definitely see the appeal!
Check out the Code Angel campaign on Kickstarter.