Updated Scratch/PiStop Resource for NuScratch

With the release of Raspbian Jessie and a built in GPIO Scratch server, I’ve updated my beginner’s PiStop and Scratch worksheet for use with the newest Pi OS.

This worksheet is designed to be used as an introduction to inputs an outputs and requires some discussion from a teacher or workshop leader about how you define inputs and outputs.

You will also need to set up the PiStops in advance on pins 17, 27 and 22 (as demonstrated on the BCM diagram on the sheet).

Scratch workshop UPDATE

Let me know if you have any questions about the sheet or if you have any classroom successes!!


Hour of Code 2015 – Minecraft

Hour of Code has become a global phenomenon, but with excellent resources and celebrity support, it comes as no surprise. Several websites are now running their own Hour of Code projects, but I want to look at the ones on the official site as I’m really impressed with their offerings this year.

Earlier in the year I talked about the Frozen resources and mentioned that while it is an excellent resource, it gets quite tricky near the end. I’ve noticed that in the meantime, they have addressed the issue of calculating angles being too tricky, by adding in information about the necessary angles in the description for each level. However, some of the children in my school completed both of the new resources and then tried the Frozen one and all agreed that Frozen was still the hardest of the lot.

So, Minecraft is exceptionally popular amoungst the children in my school and, with the approaching launch of the new Star Wars movie, this too proven to be a popular choice.

In the Minecraft puzzle, the children are given the choice of playing as Steve or, his female counterpart, Alex. This is a nice start as it acknowledges that children of both genders will be giving this activity a go.

As with the previous activities, you are shown a video, this time it’s from one of developers of Minecraft, who explains the activity ahead.

Screen Shot 2015-12-11 at 10.02.09.png

The code is based on blockly and introduces it’s concepts in a slow and simple manner. Once you’ve figured out of the system works, you are introduced to concepts such as shearing sheep, cutting down trees and mining resources by using ‘destroy’ blocks in the code.

Screen Shot 2015-12-11 at 10.05.48.png

I really love that when you get to level six, you can chose a difficulty level for building the foundations of your house.

Screen Shot 2015-12-11 at 10.06.00.png

We’ve just been introduced to the repeat block and the activity begins by giving us some basic code, which we are expected to modify to complete the design. The code we are given at the start won’t build our house, but with the addition of some further loops, we can complete our house.

Screen Shot 2015-12-11 at 10.07.39.png

In the Frozen code, we are usually given a limit on the number of blocks we can use for each activity, which is to encourage us to use loops effectively, but so far we haven’t been given a limit for the Minecraft code, but this changes in level 7:

Screen Shot 2015-12-11 at 10.08.46.png

The limit is not enforced, and if you exceed it, you are politely reminded that you could do it more efficiently.

Screen Shot 2015-12-11 at 10.16.59.png

If you don’t finish the activity in the required number of blocks, your status bar shows a slightly lighter green colour, which means that, as a teacher, I can clearly see who has carefully completed the activity and suggest that children look again at certain bits to try and make their code more elegant.

Screen Shot 2015-12-11 at 10.25.32.png

The activities involve a number of blocks unique to this activity such as ‘place cobblestone’ or ‘shear sheep’ and I think this is useful for children to see as they can recognise that code can be altered to suit the situation.

Screen Shot 2015-12-11 at 10.21.52.png

Slightly different to the other Hours of Code, if you complete the Minecraft activity, you get a special Minecraft themed certificate, which the children really love!


So, what are you waiting for? Give the Minecraft hour of code a go!

A Beginner’s Guide to Primary Coding

In the summer of 2014, I tirelessly tried out various resources and blogged about them as I went along, but this summer, I wasn’t able to blog as much for one simple reason…

This book.

I spent most of my summer holiday trying out new resources and rewriting existing pieces to create a simple guide to get teachers started with teaching coding.

I’ve tried to fill it with ideas and guides so I hope some of you get a chance to look at it and can let me know if it’s of any use!!

So, now that it’s in iBooks store, hopefully we’ll be back to business as usual!!

A Raspberry Pi Scratch Resource

Tomorrow I will be running a workshop for MozFest, a massive community event in London organised by Mozilla. Young Raspberry Pi enthusiast, PiNet creator and all round evil genius Andrew Mulholland somehow found himself organising a Rasperry Pi Zone at the event (I definitely had no involvement in this whatsoever) and so he coerced/bullied me into helping out.

This will be my first time running a workshop by myself for strangers (working with children you’ve known since they were four really doesn’t count) and I’m a little bit nervous, but I am pleased with the worksheet that I’ve created, so I figured it was worth sharing it with you guys. If you’d like to take a look, it can be found here. Please feel free to take it and use it in your own classrooms if you think it’s useful.

I’ve tried to make the worksheet easy to follow and easy to use with minimal resources – you need a Raspberry Pi with either Scratch GPIO or Raspbian Jessie, a PiStop, a PIR sensor and some female to female cables and that’s about it!

I’m planning on introducing the workshop by taking about the Pi and what you need to get it started; it never ceases to amaze me how little children know about the actual parts of a computer and most of them think that the monitor is the computer itself, so I like to spend time talking about what the parts do – the screen is so that you can see what it is thinking, the the mouse and keyboard are so you can control how it thinks, the SD card is it’s brain so that it can think and store memories, if you want to hear what any sound you need to plug in some speakers, if you want it to connect to the internet you need to give it a wifi card etc. The whole point of the Pi is to help children understand computers better so let’s make sure we’re using it properly!

You’ll be pleased to hear that I’ve forced myself to cut back on extra curricular activites after this weekend so hopefully I’ll have a bit more time to blog and try things out – I have so many toys in my collection ready to go!!

Thanks for reading and I hope the resources is of use to you!


A reflection on teaching coding

After another year at Pycon and really throwing myself into the coding community with my coding evenings and any other events that have caught my eye, I find myself reflecting on the purpose of teaching coding within a primary school. What do we hope to achieve by teaching complex languages like Python and Ruby? Why do anything other than Scratch? What do teachers really need to know to teach coding effectively?

In my own practice, I can say with confidence that I’ve made numerous mistakes trying to teach code, but one thing that became increasingly clear to me over last weekend was that it’s not WHAT languages of code you’re teaching that is important, it’s HOW you are teaching and whether you are demonstrating and modelling good practice to children yourself.

So, why are we teaching coding?

My understanding of coding as a subject has grown this year and I am now confident that teaching coding teaches children a number of critical thinking skills, not least of which is problem solving and error correction. If you’re using pre-packaged kits like Espresso Coding, you’re not going to be stressing these independent skills so it’s important that you allow children creativity in their coding.

This brings me nicely onto my second point…

What if the teacher doesn’t know much about coding?

One thing I realised over the weekend was that no one expects coders to know everything about coding. A lot of writing a programme is all about borrowing and modifying someone else’s code to suit your purpose and I think it’s really important to model that to the children you’re teaching. I make it clear that I’m learning to code with them and, if something isn’t working, we both look it up together and find some existing code to play with and fit to our purpose! Teaching doesn’t have to be someone stood at the front of the classroom pouring knowledge into their class’s heads…in fact, as adults, we constantly seek to further our knowledge by looking things up and investigating new ideas and outcomes, so why shouldn’t we model this for children? And hey, why not throw in a quick lesson on why some sources on the internet might not be as useful as others because of their source, their age or their content while you’re at it!

What languages should we introduce in the primary school?

There are lots of arguments floating around about what we should be teaching and why. I teach Python, Scratch and HTML in my primary school, but I don’t teach them as a separate and complete unit, rather I introduce the children to key concepts through playing and trying out projects if they feel ready to move on from block-based languages. I let the children make their own way through Codecademy *if they want to*, but I’m also happy for children to carry on using Scratch as long as they can achieve their purpose with it. My point about using Codecademy is that it isn’t an amazing tool for learning to code, but what it is, is a great way to learn some basic language as well as to encourage children to start supporting and debugging each other. It is only through ‘fixing’ someone else’s code that I learnt some of core ideas and the same is true with the children.

I also like to give children Python code for the various hats on a Raspberry Pi or for hacking Minecraft, but the purpose of doing this is firstly to encourage accuracy, but more importantly, to encourage the children to make changes and discuss what each line of the code actually achieves. It’s no good getting your children to blindly copy the code and then walk away claiming to know Python because they got blue flowers to follow Steve around the map.

Saying that, this is also true of Scratch – if you asked your children to create a platform game in Scratch without any instructions, would they be able to? Do they rely entirely on copying the information from the Code Club worksheet and then just walk away at the end or are they capable of manipulating their code to make something new and unique happen?

I am concerned that too many schools will suffer ‘death by Scratch’ or, even worse, ‘death by Espresso Coding’ by repeating the same, boring exercises over and over again each year without any practical application or opportunity to change the code and make it their own. It’s important that we are not just ‘teaching’ languages of code by following schemes of work and worksheets, but that we, as teachers, are thinking of innovative and interesting ways to use code to achieve an end goal.

Coding is a fantastic skill that can be used to achieve a broad range outcomes regardless of whether you are sticking to block-based code or moving on to a text language like Python, but only if we encourage creativity and playfullness with our code in the same way that we encourage creativity with our story writing.

So, there’s no surprises here, teaching code isn’t just about finding the best and most cutting edge resources, it’s about teaching effectively and modelling to the children, managing your expectations and encouraging them to be independent learners. What matters most is that you let children know that’s ok to get things wrong, it’s ok to look at other people’s ideas, it’s ok to not know everything straight away!

Enjoy teaching coding and make your classroom independent, interesting and fun; allow your children the chance to play, have fun and join in yourself. It shouldn’t just be the children that are enjoying your lessons about code!

Apologies for Silence

So, last year I spent my summer writing blog posts left right and centre and I have so many new products to try out and blog about, but I have a huge apology to make first… Basically, I started to write a short iBook about how to begin teaching primary coding which was aimed at primary school teachers like myself…this quick guide has slightly taken over my life and is now just shy of 50 pages with several sections left to go. Once I’ve got a first draft written and checked then I can pull my finger out and start blogging again, but just to wet your appetite, here are a few of the things I’ve got to blog about:

Hopscotch – block based coding on iPad

Gemma – arduino based wearable tech

Codebug – I’ve got one arriving in the post any day now

Mozilla learning platform

Explorer Hat Pro, Displayotron 3K and Unicorn Hat

So, you can see that I have a couple of bits & pieces ready to go in my pile of stuff to review, it’s just finding the time!! Please bear with me while I slog my way through permissions and acknowledgements not to mention glossarys and introduction videos!

Apple Distinguished Educator (ADE) 2015

So, this post isn’t specifically about coding in the primary curriculum, but I wanted to share with you nevertheless.

Last week I spent a week in The Netherlands courtesy of Apple who selected me as one of their distinguished educators for 2015. The ADE programme has been running for 21 years, since 1994, and there are currently over 2000 ADEs across the globe who are using Apple technology to support teaching and learning. This year, they selected around 650 worldwide, 50 of whom were from the UK, and these educators were invited to attend an institute in either Florida, Amsterdam or Singapore.

How are teachers selected?

In order to apply to become an ADE, teachers are required to answer 4 questions (within a specific character limit) and create a 2 minute video to share their story with the team. The idea is to show how you are making a difference and how Apple has helped in some way. For my application I focused on my community support work with Coding Evenings and supporting teachers within my school and the wider community. I mentioned use of iPad within the school and how 1:1 deployment has changed the way children study. For my video, I focused on the changes I’ve made and how I support people in my school – if you really want to see it, you can find it here.

My impression, from talking to other people there, was that Apple selected teachers who were collaborating, inspiring, innovating, supporting teachers and communities and making a difference to more than just their own class. The people who are seeking out new and innovative technologies that can truly make a difference to teaching and learning and are reaching out to share what they are doing with those around them.

What can you expect?

The first thing I found from joining the ADE community was that I had a ready made group of friends – there were lots of people who were keen to share their ideas and practice. There were lovely people as excited as I was to meet each other and one lovely teacher from France suggested we all bring souvenirs from our own country for a gift exchange. On the community site, I found a primary school teacher from Lincoln on the same flight as me and we headed off for a week in The Netherlands.

When we arrived at the hotel we were surrounded by loads of people wearing matching lanyards; we were all given a badge, jacket, t-shirt and itinary on Filemaker Pro and told to make sure we had our lanyards on display at all times.

The institute didn’t start until Monday, but we arrived on Sunday to have a chance to get to know each other, and it was a welcome opportunity to relax and get used to our surroundings. On Monday morning, we were in the hall by 7.45am and ready to start. Each morning started with some very loud house music pumping into the hall, which was overwhelming at first, but become completely unconcerning by day two.

Part of our first day was to split into learning communities – the presenters were keen to stress the importance of selecting a community that reflected your passions and not just what you teach and so, by lunchtime on day one, I found myself labelled as group leader of the primary coding group – 11 educators from around the EMEIA region (Europe, Midde East, India and Asia) with a similar passion for code.

There were a few activities that were focused on corporate stuff (correct use of the Apple logo, guidelines on creating iBooks in the Apple style) and presentations on Apple software, which encouraged me to think more carefully about some software that I’d previously dismissed, but the best and most interesting part of the whole week were the showcases by new and existing ADEs letting us know what they were doing to inspire other teachers and learners. All of the showcases were interesting and fascinating, but one or two were truly inspiring – my particular favourite were two women from the Czech Republic working in a special needs school and using iPad to support learning (they had me in tears with their story).

I also met some really wonderful educators that I plan to stay in touch with and share ideas with – I already can’t wait to meet up with them again. Special mention to my room mate for the week, Sarah Jones, who is using technology to bring together journalism students from around the world in a collaborative and interesting way; Benji Rogers, who supports and trains our next generation of teachers at Plymouth University whilst being a real life magician; Caz Barnes, a primary computing teacher in Geneva using green screen to make learning in Geography more interesting; Tim Lings, an inpiring techy teacher from London, who can moonwalk like a pro and last, but by no means least, my plane buddy and all round amazing teacher and amazing person, Chris Copeman, who kept me sane no matter what else was happening during the week.

Apple let us play with a load of third party tech such as Sphero and Dash, which can be controlled from an iPad as well as some other really cool tech and I’m already thinking about better ways to integrate this into my teaching in a cross curricular way.

I know there is a lot of anti-Apple sentiment out there, including some in the Pi Community, and I know some people will assume that the week consisted of a load of fans who love apple and love everything about them, but actually I felt like it was more about creating a learning community and collaborating with peers. Yes, there was a focus on Apple devices, but at the end of the day, the most important thing was about getting together and sharing what works. No one blinked an eye at me setting up a Raspberry Pi to demonstrate, in fact, a couple of the Apple staff came to take a look at what I was doing! I wouldn’t describe myself as a massive Apple fan, but I like my MacBook Air and iPhone and I like what they’re trying to do – I went in with my eyes open and was fully prepared to become annoyed with an overwhelming corporate message, but that just wasn’t the case. It was a lovely opportunity to meet some truly inspiring people as well as playing with some great resources and I’m so grateful to Apple for giving me a chance to meet them in such a lovely, friendly atmosphere.

So, if you are using Apple tech in an innovative way, consider applying because it really is an opportunity not to be missed.