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!

_0_a593dc4bb57a7d222b7173d12a54debd.jpg

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

Advertisements

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 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!

Learning to Solder – Zoo Kit

Last weekend I went to CamJam and I was very impressed with some small soldering kits   that Hannah Mills had bought from The PiHut called Learn to Solder Zoo Badge. I was absolutely gutted that they had already sold out, but fortunately they had plenty in stock on their website. At only £2 each I quickly ordered 4 different badges and eagerly awaited their arrival; the kits come in a variety of designs: Llama, Panda, Lion, Bunny, Sheep and Giraffe. Once I had my hands on them, I planned to spend an hour or two learning to solder, but it turned out that I really didn’t need that long at all!

So let’s start off with what’s inside the kit:

FullSizeRender FullSizeRender 3 FullSizeRender 2 IMG_6713

You will see that the kits come in a small hexagonal package which will fit easily into the palm of your hand. the kit is designed to cut and fold into a display case for your badge, which is a nice touch and the instructions are entirely graphical with very few words.

I’m pretty lucky to have a soldering geek at home to help me so he talked me through how to solder.

Before starting, Stuart talked me through all of his kit for soldering – he suggested that the bear essentials that you need are a soldering iron, some solder and a stand:IMG_6711The sponge needs to be a little damp before you start and, once the iron is hot, this can be used to clean off excess solder.

Super solderer Stuart also suggest getting a stand for whatever you’re soldering – he says his was about £5 from eBay and he quite rightly points out that this would make soldering easier and safer in schools, but that’s up to you to decide.

IMG_6716Before starting to solder, Stuart showed me the importance of the damp sponge – you can see in the first of these two pictures that the soldering iron is pretty mucky looking, but simply by touching it on the sponge while hot, it becomes clean. He also demonstrated how you can tell that the soldering iron was hot enough – simply by touching the end of the solder to the iron and seeing if it melts. *HEALTH AND SAFETY TIP* when there is melted solder on the end of your iron, it’s very easy to ‘flick’ it off, which is, of course, very dangerous and likely to cause burns – make sure you demonstrate this to children and explain why it’s a bad idea and why you must make sure that you wipe of excess solder onto the sponge!

IMG_6722    IMG_6723

At this point I was all ready to go, but Stuart once again had a good idea, he suggested having a go at a bit of soldering on some old cable and disappeared into a nearby cupboard, returning with this:

IMG_6717 He promptly stripped the end of an old European plug cable that he just happened to have in the cupboard and used a wire stripper to reveal the wires inside.

IMG_6718IMG_6720 IMG_6719IMG_6721

First I had to twist two of the newly revealed copper ends together, then have my first attempt at soldering – Stuart patiently explained that I needed to heat up the area I wanted to solder with the soldering iron before carefully feeding the solder onto the now hot copper – if it’s hot enough, the solder will melt and spread around the area. You shouldn’t need to touch the solder onto the soldering iron, the heat transference should be enough to melt the solder without the two coming into contact!

IMG_6724So, my first bit of soldering done, we were ready to start looking at the badges – first step was to follow the instructions and carefully put the battery holder and LED into place. I was happy to just bend the LED to get it through the necessary holes, but once again, Stuart had a good idea and suggested using a pencil to carefully bend it and avoid breaking anything. It’s made really clear on the instructions how to insert the LED and which side of the LED is positive – the only thing that wasn’t clear was which way up to put the battery holder and I did have a moment of putting it on upside down and then having no clue about how it would stay in place (yes, I’m that stupid). Fortunately, once it was pointed out, it did make sense that it would sit upside down, slotted through the holes!

IMG_6714

IMG_6715With the two parts resting in the right place, I became really grateful for the stand as trying to solder without it might have been really tricky!

IMG_6716So, here you can see a short video of Stuart soldering the first of the LED pins:

And the finished result:

IMG_6727I’m not going to lie – we were both pretty impressed by the material the badge was made from as it didn’t seem to mind being touched by the soldering iron – this is a nice touch for beginners as it’s likely they will make mistakes and it’s nice to know that you can’t cause to much cosmetic damage!

So, my turn!

IMG_6728

I found soldering the pin really scary because I kept thinking that I would short circuit it somehow, but as long as I stuck to carefully heating the LED pin and gently touching it with the solder, everything went to plan. I found out afterwards that if I’d put too much solder on, I could’ve damaged the LED, but everything looked fine and the solder had just slightly come through on the back, which was exactly what we wanted.

The next step was to solder the battery – once again, click here for a handy video of Stuart demonstrating how to solder it.

Unfortunately, that left me with the harder battery pin to solder and this time I really struggled – I was terrified of touching the LED with the soldering iron and found it really difficult to let the pin heat up and gently touch it with the solder, but eventually, after three attempts, I got it done:

IMG_6730 IMG_6731

After snipping off the excess length on the LED pins, I was ready for the final step, which was to solder on the badge pin – the instructions ask you to put solder onto a patch of the badge and then attach the pin by holding it in place and adding more solder, a process known as ‘tinning’. This time I was really able to see the solder rapidly melt onto the badge – while I held my soldering iron still, the melting solder spread quickly around it; it really did appear as though the badge was sucking the solder from the end of the roll!

Once again the stand made life really easy as I was able to clamp the badge in place in order to apply the last two bits of solder.

IMG_6732 IMG_6733

The final step in the badge creation was that nice touch I mentioned earlier – to create a display case for your badge! The kit even contains some double sided tape to stick it all together!

IMG_6734 IMG_6735

So, why is this particular kit useful?

Firstly, it offers you a stress free opportunity to learn to solder – it doesn’t matter if you solder onto the badge, the solder just doesn’t stick to it.

You can’t cause too much damage if you go wrong – of the three bits of soldering you need to do, only one of them actually involves circuitry; both the battery holder and the badge pin are simple attachments rather than completing a circuit.

It looks nice – as an adult, I loved making a cute little badge to wear; I’m going to wear it to school on Monday with pride and show off to my class that I soldered it myself! I really like the display case and I like that the kit itself is so cleverly made with it’s fold out instructions and display case pattern. I think children will really love to make these badges and, if my sense of achievement is anything to go by, will feel really proud of themselves!

It’s affordable – For £2 you can’t really go far wrong and I’m tempted to buy a load for my Code Club as an end of term treat! Yes, you could buy components for cheaper, but this kit really does come with everything you need apart from the actual soldering iron and it’s a nice, safe way to start!

I cannot wait to show these off at my next Coding Evening – so, what’re you waiting for? Go and buy yourself a zoo of soldering badges!

The PiStop

I’ve realised that I haven’t yet written a blog post about my favourite bit of kit for the Raspberry Pi, the PiStop by 4Tronix.

So first lets talk about why I like it so much then I’ll talk through a demo of using it. Earlier in this blog, I talked about the CamJam EduKit and how much I liked it, the biggest problem was the wires – for younger and not so dexterous fingers, all that work with fiddly LEDs and resistors and cables is quite a hassle; not to mention just grasping the whole concept of why. When you finally get everything wired up, the next task is to write some code in either Scratch or Python and THEN you get an exciting output of flashing lights. Not so with the PiStop – it neatly slots over 4 of the GPIO pins (three programmable GPIO pins for the LEDs and one ground to complete the circuit) and then you can just load up Scratch and code away. For me, this is ideal for the younger and more easily distracted children as it’s quick and easy to make something actually happen with a few blocks of Scratch code. It’s also easily extendable – once you have one flashing light, can you make the other 2 flash? Can you make a traffic light sequence? Can you now write the same code in Python? Then once all of those activities are complete you can then run the whole activity with cables, breadboards and LEDs, but now the children are excited, they already have an idea of how to get the code working and building the circuit is like moving on to the ‘grown up’ stuff like the CamJam kit.

So, how do you plug in your PiStop? I’m a creature of habit so I tend to always plug the PiStop into the same place – it can actually be placed anywhere on the pins where you have one ground and 3 GPIOs together.

I’ve mentioned before that there are two different numbering systems for the GPIO pins, the picture below shows both number systems for the model A and B Raspberry Pis, which are the older versions with only 26 pins; both the B+, A+ and 2 models have 40 pins, but the first 26 are the same as below. Raspberry-Pi-GPIO-Layout On this diagram, the ground pins are labelled in white, the programmable pins are green and the live, powered pins are red and orange. The most popular labelling system, known as BCM, is listed in the white boxes on the outside, whilst the simpler numerical system is written on the pins. From my experience ScratchGPIO uses the simple numerical system, but it might work for both! My usual spot for mounting the PiStop is from numbers 9-15.

The first thing you’ll need to do is to make sure that Scratch GPIO is installed on your Raspberry Pi – details for how to do this from Scratch GPIO creator Simon Walters can be found here.

Once installed on your Pi, load it up and cross your fingers – you should get a message box pop up telling you that remote sensor connections are enabled – if you don’t you will need to run some updates because it means it’s not working properly (boo hiss). I came across this a few times with the latest version of Rasbian and I’m not going to lie, I had to resort to getting someone more technical than myself involved.

Screen Shot 2015-03-30 at 13.43.01So, let’s assume that you have got Scratch GPIO working fine and your PiStop is plugged in as in the photos below:

IMG_6146 IMG_6147

So to make the first light turn on we need to use the control tools on Scratch – our key command is ‘broadcast’ with high being on and low being off.  See the photos below for step by step instructions for turning the first light on and off ten times.Screen Shot 2015-03-30 at 16.21.24Screen Shot 2015-03-30 at 16.21.31Screen Shot 2015-03-30 at 16.21.39

Screen Shot 2015-03-30 at 16.32.41Screen Shot 2015-03-30 at 16.32.27

You’ll notice that I’ve put ‘wait’ blocks in between each of the broadcasts, inevitably the children will miss these out once in a while, which will cause the lights not to work- this is great because you can reiterate both the importance of debugging and that code does exactly what you ask so your instructions need to be clear. IMG_4908

Once I’ve shown the children this step, I usually ask them to figure out how to get the other two lights on (pin 13 and pin 15) then the challenge is to try and make a traffic light sequence. I was fairly impressed when a couple of boys extended themselves by using the CamJam Python code with the PiStop to broadcast what they referred to as a disco, whilst on the screen a selection of messages appeared in their Python window using the print command.

So, basically, this is a very simple, cheap piece of kit which is really easy to use and a great stepping stone to more complex code. I would definitely recommend that any Raspberry Pi teachers get at least one PiStop into their classroom as a starting point for physical computing.

Good luck everyone and enjoy coding!

PS For anyone who’d prefer a real life demo, my next coding evening will be on Tuesday 5th May in Twickenham

2015 – the year of new stuff

I’ve not posted for a while – things have been busy – my father passed away in October and so I have been dealing with that, but as time has moved on and a new term has started I feel ready to dive back in head first.

Anyway, that’s no excuse – my goal for this year was to write up a guide to the new curriculum and I have so far failed miserably.

So, the last few weeks have been interesting – before Christmas I visited my first CAS Hub event in Hammersmith – it was mostly independent schools like my own and included a chat about how people are getting on as well as a demo of a java script game based Code Kingdoms (more on that later). It was good to see what people were doing, but I ended up arriving late (only by 15 minutes) and felt like I missed out on a lot of the early chat.

I had also attended a Code Club meet up in central London right at the beginning of the academic year and between the two events I decided it was time I started organising my own meet up. My plan was simple, I wanted to keep things informal, I wanted to get lots of teachers there and I wanted to make sure there were things to try out. I’m not a great fan of sticking to timetables so I decided not to plan anything formal for my event and so next Thursday (22nd Jan 2015) I will be hosting a coding meet up in the Stokes and Moncreiff pub in Twickenham – I’m hoping to get lots of teachers to come along (although I’m only up to about 16 so far) as well as trying to encourage some Code Club volunteers to head over. If you’re interested in coming along please sign up here.

At the end of last year, I also volunteered to talk about Raspberry Pi in the primary school at BETT 2015 on the Raspberry Pi stand along with a fellow Picademy alumni, Tom Sale, who is a leading practictioner when it comes to the new curriculum and is well known for helping to organise a big primary school coding event in Blackpool, Hackpool.  We will be talking on the Pi stand at 12.30pm on Friday 23rd and then we have also been invited to sit on a panel at 2.15pm with Clive Beale in the BETT Futures arena to talk about coding in the primary school; next week is looking set to be an exciting week.

While surfing Twitter this week, two very exciting things have come up that I think are important to share: Firstly, CamJam and Raspberry Pi are hosting a third birthday event in Cambridge 28th Feb/1st March – this is looking like it will be a great event for anyone interested in using the Pi, whether it be teachers, parents, professionals or children and it’s less than £10 for a full weekend pass (the day activities are completely free for under 16s). I’m planning on heading along to the Saturday events because I think it will be another great networking opportunity and to get some ideas for how to use the Pi in school (trust me, the best way to be inspired about how to use the Raspberry Pi is to find out how other people are using it). Further details here.

The second thing I saw this morning was a lovely little kickstarter from the guys at Pimoroni called Flotilla. This looks like a perfect bit of kit for any primary school teacher as the cross curricular links are immense. The idea is simple – a USB plug and play hub with an awful lot of sensors that can be controlled with varying levels of coding difficulty starting off with simple recipe cards, to flowcharts, to Scratch, Python and beyond. It can be controlled from a computer or a tablet. My hand slipped when I was making a pledge and I’ve ended up putting down enough to be able to get a mega treasure chest so as soon as this is released I’ll be blogging about how it works. It’s nearly achieved half it’s funding in a few hours so there is no doubt it will be fully funded before too long! Looking at it, it should be great for linking coding to science and I have a feeling there will be ways to link it to other subjects too!

So, I’m declaring 2015 the year of new stuff as I continue to find new and exciting ways to encourage people to enjoy the new coding curriculum….

One final anecdote for you, however, a pair of excellent teachers came to me this week to ask why I was making them teach coding, they wanted to know if they could just go back to teaching ‘word and stuff’ *facepalm* luckily for me, they saw sense, but just goes to show how deeply the old microsoft curriculum has been ingrained into teaching!!