Pixel Press

Pixel Press - Draw Your Own Video Game

Pixel Press is an app where you to create and share video games by drawing - think about that - a new way of social gaming!

Get the guide for free online.

Templates are available for students to begin their own gaming venture.

Why do our students need to learn to code?

"There will be lots of interesting discussions about the key concepts that students will need to understand, but here's one possible list for starters. Kids need to know about: algorithms (the mathematical recipes that make up programs); cryptography (how confidential information is protected on the net); machine intelligence (how services such as YouTube, NetFlix, Google and Amazon predict your preferences); computational biology (how the genetic code works); search (how we find needles in a billion haystacks); recursion (a method where the solution to a problem depends on solutions to smaller instances of the same problem); and heuristics (experience-based techniques for problem-solving, learning, and discovery).

If these concepts seem arcane to most readers, it's because we live in a culture that has systematically blindsided them to such ideas for generations. In that sense, CP Snow's "Two Cultures" are alive and well and living in the UK. And if you think they are too sophisticated to be taught to small children, then that's because you've never seen gifted and imaginative teachers go to work on them. In fact many UK readers in their 30s will have been exposed to recursion, for example, because once upon a time many UK schools taught Logo programming, enabling children to learn how a mechanised turtle could be instructed to carry out complex manoeuvres. But in the end most of those schools gave up teaching Logo and moved backwards to training kids to use Microsoft Word.

Incidentally, the Logo story provides a good illustration of why teaching kids to write computer programs has to be an integral part of any new computer science curriculum. The reason is that there's no better way of helping someone to understand ideas such as recursion or algorithms than by getting them to write the code that will implement those concepts. That's why the fashionable mantra that emerged recently – that "code is the new Latin" – is so perniciously clueless. It implies thatprogramming is an engaging but fundamentally useless and optional skill. Latin is an intriguing, but dead, language; computer code is the lingo of networked life – and also, it turns out, of genetic replication.

Another misconception that is currently rife in the debate about a new curriculum is that the primary rationale for it is economic: we need more kids to understand this stuff because our "creative" industries need an inflow of recruits who can write code, which in turn implies our universities need a constant inflow of kids who are turned on by computers. That's true, of course, but it's not the main reason why we need to make radical changes in our educational system.

The biggest justification for change is not economic but moral. It is that if we don't act now we will be short-changing our children. They live in a world that is shaped by physics, chemistry, biology and history, and so we – rightly – want them to understand these things. But their world will be also shaped and configured by networked computing and if they don't have a deeper understanding of this stuff then they will effectively be intellectually crippled. They will grow up as passive consumers of closed devices and services, leading lives that are increasingly circumscribed by technologies created by elites working for huge corporations such as Google, Facebook and the like. We will, in effect, be breeding generations of hamsters for the glittering wheels of cages built by Mark Zuckerberg and his kind.

Is that what we want? Of course not. So let's get on with it."

Naughton, John. "Why all our kids should be taught how to code." The Observer. Guardian News and Media, 1 Apr. 2012. Web. 16 July 2014. <http://www.theguardian.com/education/2012/mar/31/why-kids-should-be-taught-code>.