There’s been a lot of writing on this of late so it seems a good time to pull some of these thoughts together. There is the ‘everyone should learn to code’ camp as shown by Emma Mulqueeny, who runs Rewired State and Young Rewired State, because it helps to form logical problem solving skills and an awareness of algorithms and processes. There is also the ‘everyone should code, or do something to foster creativity’ group too as noted in this article on Forbes. And there’s also the ‘don’t learn to code for its own sake’ position best exemplified by Jeff Attwood, or use the approach of Ciara Byrne and others, who focus on learning to better understand coders instead.
Mostly though, as I see it, kids should have opportunities to see how things work, and learning to code is part of that, even if you don’t take it too far. Tools that let kids and adults learn more easily by themselves, or with friends is a good way to do that. Kano seems to offer another way for kids to do that too, and you’ll find more links to learning programmes for kids on the page too. There’s also a good list of where to learn code at LearnRoo, altough it’s focused on kids, but that’s ok. You can also find another good listing of ‘ways to learn to code’ based on what you want out of the process of ‘learn to code’ in a post by Scott Hansleman where he compares what a coder, programmer, dev and computer scientist. For him the issue is about ‘why’, and he poses a number of useful comments along with places to learn for hardware and software.
You should also be able to use Project Euler to develop your understanding of algorithms in your chosen coding language too. Yes, you can google all of the solutions, but that’s not the point. As with Code Retreat events where you go over Conway’s Game of Life using different constraints, the purpose of Euler is to learn how to think with the concepts you need to be a better programmer. All of this is supported by the teaching of programming experience by Wiggins, which stresses the need to develop the creative cognitive skills of students to imagine abstract processes.
All of these fit in nicely with another trend of articles on ‘how did you learn to code’ pulled together at geekwire.