Programming – the next modern language

[embedplusvideo height=”224″ width=”350″ standard=”http://www.youtube.com/v/dU1xS07N-FA?fs=1″ vars=”ytid=dU1xS07N-FA&width=350&height=224&start=&stop=&rs=w&hd=0&autoplay=0&react=1&chapters=&notes=” id=”ep3894″ /]

The short version of this short film has more than 10m views on YouTube

Forget English, French and Spanish. Forget Arabic and Chinese. The language our pupils really need to know is computer programming!

As a boy, I grew up having to control a computer using the MS-DOS command line or run computer games by typing “Load” in the early consoles. Then I moved on to QBasic, then Access and Excel, C+ at university and now html and CSS. I get a kick out of the way programming forces me to think logically and I’m thankful for the way it’s taught me to persevere. I puzzle for hours over why my coding isn’t doing what I want it to do and when I conquer it I genuinely feel elated. Proud of having not been defeated by a missing semi-colon or of having worked out an elegant sub-routine.

Learn to code or code to learn

Mitch Resnick, the main man behind Scratch, says in his TED video (see below) that we should use programming as a vehicle for teaching other things. That makes a lot of sense to me. Ask not ‘How much coding can we learn?’ but ‘How much can we learn from coding?’

In terms of Bloom’s taxonomy, writing computer programmes is the ultimate exercise in making your way from knowledge up to synthesis. You remember a programming term, you understand it, you apply it in a line of code, you analyse if it’s working, you evaluate whether it could work better and you create a whole routine from input to output. This goes on on a constant loop while you’re writing code.

From a purely language point of view, there are obviously cross-overs with spoken language from grammar and punctuation to structure and purpose – coding could give students an appreciation of the <meta> elements of language (sorry, poor html in-joke).

When it comes to maths, programming is the perfect place to apply understanding of algebra, order of operations, geometry, numbers, fractions and, more importantly, the links between them all! Perhaps I could approach it the other way, as the quote suggests, and use programming as a means to teach maths.

Is ‘computer nerd’ a byword for being cool?

Programming is so hot it’s cool

Over the last 18 months, the number of people calling for more children to be learning code has increased. It started with Wolfram, then the Computing for Schools group, Gove got involved, ICT has become ‘computer science’ and now there is a plethora of charities, interest groups and businesses clamouring to get kids into coding. Even Will.i.am is doing it (see video at the top)

Where to start

I think the best place to start is to get pupils into programming using LOGO. Now that my pupils have got to grips with LOGO (and learned a lot of geometry along the way) the game plan is to use one of the online schools, make some games, make some apps and join a code club. Here is a collection of the best.

Online code schools

  • Turtle Academy – If you don’t fancy my old-school LOGO training manual, then there’s a brilliant walk-through guide to LOGO from TurtleAcademy. It checks off when you complete each task and it accepts some reasonably sophisticated syntax. It’s perhaps too easy to copy and paste the code without really understanding what you’re doing and the instructions are quite wordy. I’d say it’s a good launching point for 12+ with decent command of English.
  • Code School – Teach yourself JavaScript, html, css and even iOS applications. Probably aimed at the techier end.
  • Khan Academy CS – The interface is slick and you can edit code in box and see the output in another; it ties in with Google accounts like a dream; narrations are by the amazing Vi Hart; and it’s worked well for my higher attaining year 7s, who have been teaching themselves with no input from me.
  • Code Academy – A bit like Code School I think in that you can learn JavaScript, html, css but also PHP, APIs, Python, Ruby and jQuery. I think it’s more aimed at older teenagers and beyond but I was completely suckered in by the dialogue box on the homepage – I could imagine pulling it in some younger ones too.
  • Tynker – The perfect teach-yourself-Scratch course for students. It’s got videos, examples and fun projects for the students to learn about building computer programmes. Pupils are easily hooked because rapid success is guaranteed. From the teacher’s point of view, it links seamlessly with Google Apps or you can import your own usernames; you can set up classes, set them assignments and track their progress. There’s a Maths Art assignment and a Physics Engine – that’s coding-to-learn in action for you. This should be your entry route for anyone working with 5 to 14 year olds.

Game making

  • Scratch/Snap BOYB – A natural progression from Tynker, Scratch and Snap are both block editors and do so much more than allow you to create games. Tens of thousands of children around the world have been making games and other programmes for years using the simple drag-and-snap coding blocks. It’s straightforward to get going and ramps up smoothly as you get more familiar with the blocks.
  • Sploder – Fairly new to the market I think and looks like you could make some great looking games. In truth, it’s programming-lite but logic-heavy so there are certainly some transferable skills to develop. The Physics Creator is a very clever tool for making games that obey laws of forces, gravity and motion – much cooler than it sounds!

App Making

  • Blippit – Developed by all-round good guy John Bidder in the north-west of England (that’s a bonus), Blippit is a very easy-to-use app developer. Granted, the apps you can make are basic, but it does have a useful bulk upload tool for teachers to set up usernames and you can access published apps from any device if you have the link. There’s a free 2-week trial.
  • Apps for Good – Currently signing up schools in the UK, Apps for Good is a charity I’m dying to join up with. 11-18 year old pupils work through the full design process from brief to product design, development and testing to create an Android app. With input from external experts along the way, the final output is then pitched by the pupil team in a national competition. Oh, and the best bit is that the apps the teams design are intended to make the world a better place.

Programming Clubs

  • Code Club – A nationwide network of volunteer-led after school coding clubs for children aged 9-11. Says it all really. With any luck KSA Primary might get involved.
  • Coder Dojo – Started by an Irish school student only a couple of years ago, CoderDojo coordinates free coding clubs where young people learn how to code, develop websites, apps, programs, games and more. Dojos are set up and run by volunteers and they organise tours of technology companies and bring in guest speakers. If you can’t find a Dojo near you, you can set one up!
  • Raspberry Pi club – Several schools, mine included, are getting their hands on little Raspberry Pi computers thanks to a joint initiative between Google, OCR, Generating Genius, Computing at Schools, Coder Dojo and Teach First. Teddington School runs a Raspberry Pi club during the school day, which sounds like an excellent starting point.

I’ll give the final word to Mitch Resnick in his superb TED Talk.

[ted id=1657]

Other Links
40 Tools To Learn Coding
‘Learn to Code, Code to Learn’, Mitch Resnick

What do you think of this post?
  • Like (1)
  • Dislike (0)

4 Replies to “Programming – the next modern language”

  1. It’s become a richer landscape out there in terms of resources and you’ve caught this well Bruno – thanks for adding Blippit to this mix 🙂

  2. Great post Bruno. A good tour of what’s out there and how well it works

Leave a Reply to Jennifer Moses Cancel reply

Your email address will not be published. Required fields are marked *