Friday, 18 April 2014

Introduction to Coding

During my time at Picademy there were a few people who had never done any coding before. I've done a little bit since I was a teenager (html for my Livejournal obviously), but also do not come from a computer background.

The first unit I taught on coding was a real steep learning curve, and I loved learning alongside my students. The actual focus of the unit for students was "How do I learn?" We looked at different learning and teaching styles and different websites and apps to learn code, including thinking about the audiences they were suitable for. They also thought about different educational needs, like support for ESL and Dyslexic students. Students learnt the basics of coding, then led a lesson for another year-group teaching them to code too!

Different types of preferred learning styles.

At the start of the unit each student was given a different app or website to explore. They then presented these to the class and as a group they selected the best ones for teaching their chosen audience (grade 8s taught grade 9 students, and grade 7s taught grade 6 students). I even gave them our school's lesson plan template and the five minute lesson plan from Teacher Toolkit.

Students in both grades decided to use a post-it note activity to show how much students learnt during their lesson. They started off by getting students to write their definition of coding, and then they did the same thing at the end! They also got them to write their perceptions of coders/coding, with students answering that it was difficult and boring, and ending saying how fun it was!

Here are the apps and websites they chose to teach with:

Grade 7 Teaching Grade 6

Students chose to use Light-Bot for their starter activity. They did the first few levels together and then grade 7s gave their iPads to the grade 6s and supported them through the next few levels. This game is highly popular, and although basic, does test their problem solving and logic skills well! It starts off pretty easy, but builds and becomes more complicated. We just used the first stage, which is free, but I know a lot of students continued playing Light-Bot at home after!

The main activity for the class was creating a game in Touch Develop's Hour of Code. The activities guide you through, highlighting any code you miss. You basically customise a range of games, including one where you have to make your character avoid hitting other objects and another where you have to tap any objects that come on the screen to make them vanish. Students chose the backgrounds, items and sounds, so we had some weird games at the end of the lessons, including ones with screaming kittens, beeping cowboys and operatic ducks!
This was a great activity as students really wanted to finish so they could play their games and show their friends!

Grade 8 Teaching Grade 9

Although Hopscotch is really aimed at younger children, this was a perfect starter activity. A grade 8 student explained how Hopscotch worked and demonstrated showing a game he had created. The grade 9s then had a short time to make a game, assisted by grade 8s. This was fun and most of them opted to create a game where they had to tilt their iPads to make their character avoid other objects. If I was teaching younger students again, I would definitely play with Hopscotch more!

The main focus of the lesson was getting students to do the computing/coding course on Khan Academy. Grade 8 chose this as they could monitor student progress on one screen, writing up the leading student on the whiteboard. Although they liked this competitive element I don't think it was a very successful website to use, as it really should be done independently without other distractions. Also they didn't have enough time to really get into it. As a tool for learning at home I think it is fantastic.

At the end of the lessons students sent out a Google Form to participants. They designed the forms themselves and they were used to check for understanding, but also to gather information about the parts of the lesson which was successful. As it was an MYP Technology unit, I needed to get them to evaluate their work and always try to get them to get some evidence to do this!


During the unit I also got students to do some research and debate with the motion "This house believes all schools should teach coding." They all agreed, but debated well for either side of the argument. Students then submitted their notes, along with a reflective statement about their true feelings on the issue, so those who argued against could still express that they believed coding should be taught and why.

Other apps and websites students explored:

I used their Hour of Code before Christmas for the first time I was teaching code. I love this site. There are great videos featuring tech celebs, like Mark Zuckerberg and Bill Gates, as well as pop star Will I Am and basketball played Chris Bosh. The games are all ones students are familiar with, like Angry Birds, and the challenges progress perfectly. As a teacher you can set up classes, so that you can track student progress. When I did the Hour of Code, after a week lots of students had spent their own time working through all the levels! have also got a 'Code Your Own Flappy Bird' lesson, which came out shortly after Flappy Birds was taken out of the App Store. This is a really simple lesson, but great for an intro. I actually set it as cover when I was off sick. Here is the Google Presentation I used - the cover teacher didn't have to do anything, apart from join in! This is great for people who are new to teaching coding or a little bit scared to dive in.

Hakitzu is a great game were you customise robots then send them into battle. The way you make them act out moves is through code! It starts off really basic, giving you the lines of code and prompting you, but you can also progress to write the code completely by yourself!  Students can even battle friends! Kuato Studios, the makers of Hakitzu, came in to my school to test of their game when they released this version. They are involved in 100 Hours of Code and will come to your school too if you ask them nicely! You can see my guest blog post about their visit here.

Code Academy has a great website and which can easily and quickly teach you the basics of coding. It may not be as child friendly as some of the other apps and websites out there, but it is really useful. I would recommend this for secondary schools mostly.

This is another command block game, similar to Light-Bot. It's actually really similar as it starts off very easy, but gets tricky towards the end. I liked seeing students play this, as they really enjoyed it and helped each other with difficult levels! The best thing about this game is that it was actually created on the iPad through the app Codea!

Codea is the app that Cargo-Bot was created in. When you open the app there are loads of games that have already been made. As I'm new to coding, I can't write code fluently, but I can certainly manipulate already existing code! I went into some of the games and customised them - for example there is one game where you have to re-arrange letters to form a word - I obviously went in there and put rude/silly words and then played. As this app costs a bit of money, I think I will use it more to further my own understanding and will recommend it to keen coders. I may move onto using it with my class after doing another coding unit with my Raspberry Pi.

Another app aimed at younger students. However this would be a great starter activity. The students in my grade 8 who explored this as a teaching option loved it! It's really cute, simple and quite addictive.

Very similar to Kodable - Another great app for younger students or for starter activities!

I hope these have been useful. There is no shame in starting using drag and drop lessons/things with command blocks. They will still teach students the basics of loops, if statements, accuracy and all that other important stuff! They are good fun and change student perceptions of coding - this unit was my favourite unit so far, as it was so easy to teach, because the students enjoyed it so much!