Dark theme

Advanced resources for schools

[ << ]

Other simple languages

Screenshot: Kodu

Similar to Scratch is Kodu (Download). Kodu doesn't let you build things up from nothing, but allows you to build games and stories using built-in animals etc. It looks lovely and lets you make some really good games easily.

For languages that you have to type, and type right, the easiest are:

Screenshot: Kodu

Python: this is popular and there are some really good books, but software built with it doesn't look so great. It is taught in a lot of secondary schools, but would be a perfectly good choice in primary coding clubs.

Screenshot: Ruby tutorial

Ruby: this is taught in some primary school clubs, and there is a good online tutorial, but it probably has less use in the real world than Python or Javascript.

Button: Go on, you know you want to.

Javascript: this is used to make webpages do stuff. It is a bit harder, but there is a addon for MineCraft, which is a good way to learn.

iPads: For KS2 children wanting to learn Javascript using iPads, there is the free Hakitzu Elite: Robot Hackers, though there is obviously mild violence in this.

Screenshot: ComputerCraft Hello World

Lua: this is a slowly growing language, but there is a really REALLY good addin for MineCraft which lets you program little robots to build stuff for you - it also teaches you about Linux, which is thing a bit like Windows, and coding over WiFi. Honestly, of all the stuff for teaching kids coding, this is one of the best.

iPads: for those who want to learn Lua with iPads, there is the commercial app Codea, which is a full programming environment for writing your own programs for the iPad. For a taster, see the video on their homepage.

Screenshot: Processing in use

Processing: this is based on the Java language, but it is hard to tell. It is a fairly simple (for coding) way of making complicated animations and special effects. Lots of people give away code they've written for it and there are good tutorials. It is used for lots of films and there are some nice examples.

For some of these languages, there are lessons at Code.org, Code Academy and Khan Academy.

Harder languages

Although it isn't worth exploring them in depth at this level, it is worth knowing other languages exist, so here are some of the major ones.

Harder languages include Java, C / C++ ("C plus plus") / C# ("C sharp"), Visual Basic, and Fortran.

Popular languages for helping run websites are Perl, PHP.

Strange languages you might hear about are Lisp, Smalltalk, and Prolog. These don't work like the others, but Lisp/Smalltalk were the start of Logo and Scratch.

Hardware

Sometimes it is fun to combine coding with hardware that isn't Windows-based PCs or Linux-based Macs. In particular, there is a lot of hardware which you can attach electronics to, either for getting information into the computer, or pushing out lights, etc.

Screenshot: Pi chips

The classic example for schools is the Raspberry Pi, which is a very small and cheap Linux computer which comes with Python installed and which you can attach to electronics etc. Dr Eben Upton, an ex-Ilkley pupil, was a driving force in the initiative.

Screenshot: Banana piano

Other hardware that you can program to talk to electronics include Arduinos and PIC chips. One fun Arduino is the MaKey MaKey, which lets you turn drawings and household objects into computer controls, including making such fabulous projects as the banana piano.

Screenshot: Robot

Finally, there's also some excellent programmable robots out there, from Bee-bots through to Lego Mindstorms, which you can use for some really sophisticated projects like Rubik's Cube Solvers and other robots.

The last set of resources are initiatives to help with coding in schools.