Although when I entered teaching I had nearly 20 years experience in the IT industry, almost all of it (except for a bit of workflow design) was from a non-technical perspective. This meant my experience of coding was limited to a bit of BASIC on the ZX Spectrum! If I did any at school, I can’t remember it.
It was therefore the one area where I was unsure what and how I would teach when I became solely focussed on teaching computing. Over the last 18 months I have used a wide variety of resources and come to a couple of conclusions: 1. Coding is NOT difficult to teach, and 2. You do not have to be technical to teach it.
Here are some of the resources I have used, arranged loosely in the order you might want to introduce them to primary children.
1. Simon Says – no link or app for this one. A simple way to teach children how to follow an instruction. Can be used in FS and KS1 and easily adapted for different ages and abilities. Language is crucial, this is the time to introduce words like instructions, algortithms etc. You can also use directional language at this stage to teach or re-enforce left/right, forwards/backwards etc. Give children the opportunity to lead as well as follow.
2. Bee-bot – If you are lucky enough to have bee-bots in your school, they are a great way to introduce the link between inputs and outputs and help build the children’s directional language. You can spend more money on mats and grids, but in my experience, a board with areas marked in tape works just as well. There is also a great Bee-bot app which I have used to get children to make their own algorithms by recording their instructions using R=Right, L=Left etc. This makes the link between a character which will form part of an algorithm and an outcome.
3. ScratchJr Now available on IOS and Android devices, ScratchJr is a fantastic entry point for children to explore more open ended programming. It introduces chracters, background, more movements, repeat loops and basic if/then routines and offers children the opportunity to experiment and play. There is also a fully planned set of lessons freely available to help you use this in class. I find these useful, but also found that most children are ready to move on more quickly than this series, so it’s better to dip into them than follow them to the letter. There are also assessments and useful ‘how to’ guides on the Scratchjr website.
4. Scratch – the logical next step from ScratchJr, Scratch is a brilliant platform for children to broaden their skills, and crucially to become part of a wider community, sharing their own ideas and borrowing from others. There are loads of places out there where you can find great scratch resources. A couple of the best I’ve found are from the brilliant Simon Haughton’s website and from Code Club. The best advice I can offer is to get stuck in!
5. Light-bot hour of code – available online, an IOS app or on Android, this is a great too for developing logical thinking and introducing processes into programming. Lightbot also shows that there can be more than one solution to a problem and that some are more efficient than others. It’s a nice assessment tool which you can use to see how capable children are of adapting to a new interface. It’a also a good way of demonstrating the importance of testing, children can build their solutions and test them at each stage.
There are also lots of other great activities on the hour of code website, last year my year 4’s really enjoyed the ‘Make a Flappy game’ activity.
6. Erase all kittens – This is a good way to progress to html coding. EAK is a platform game which needs to be adapted by its players to make it work by changing to html code behind the page. I have just done this with year 6 as a one activity (there are only three levels) before I move on to more advanced html later in the year.