Pinterest Stumbleupon Whatsapp
Ads by Google

Programming conferences are unlikely places to find teachers. But at the recent PyCon UK conference, in the Coventry Technocentre owned by Coventry University, teachers and programmers were working together and sharing their relative expertise. Why? Because they care deeply about teaching computing to young people.

compsci-pycon

The UK government recently mandated that computer science be taught in British schools as a replacement for the much maligned IT curriculum that taught basic (and severely outdated) secretarial skills, with not much room for anything else. What is really beautiful about the new computing curriculum is that it’s incredibly open ended. There are some milestones that have to be met, such as “use sequence, selection, and repetition in programs; work with variables and various forms of input and output“, but how you get there is entirely up to the teacher.

This has resulted in an explosion of innovative ways to teach computing to kids and teenagers. Here are some of them.

Python

Few programming languages are quite so well suited for teaching beginners and children as Python The 5 Best Websites To Learn Python Programming The 5 Best Websites To Learn Python Programming Over the past decade, the Python programming language has exploded in popularity amongst programmers in all areas of coding. From web developers to video game designers to in-house tool creators, many people have fallen in... Read More . There are a huge amount of reasons for this. Perhaps the first (and most compelling) reason is that things are simple, straightforward and work just as you would expect.

compsci-python

Ads by Google

Python is a language that embraces simplicity and readability, and the Python developer community is infamous for being welcoming, conscientious and helpful. For all these reasons and more, it’s being used right now in British classrooms. Python runs on almost everything (even Symbian S60 Phones!) and is free to download and use. What’s better than that?

Raspberry Pi

Okay, we can’t talk about teaching Computer Science without talking about the Raspberry Pi. They’re awesome little devices, boasting enough RAM and CPU power to run a full Linux distro whilst consuming almost no electricity.

compsci-pi

They’re cheap too, costing a paltry $25. You can read our interview with Eben Upton Raspberry Pi's Father Speaks: Eben Upton On The Future of Technology And More Raspberry Pi's Father Speaks: Eben Upton On The Future of Technology And More Enthusiasm radiates from Eben Upton. He's the driving force behind the Raspberry Pi, that small computer that has been revolutionising hobbyist computing since its launch in 2012. Tall, and dressed casually, the founder of the... Read More – the founder of the Raspberry Pi foundation and creator of the Raspberry Pi – to get an idea of what they’re all about. In short, the Raspberry Pi is a cheap little device where kids can learn to code and experiment without worrying about breaking the family computer.

These have already became a massive hit in the classroom and have shifted millions of units. The right product for the right price? Is anyone really surprised?

Minecraft

You may be wondering what Minecraft has to do with the teaching of computing. That’s fair. Whilst Minecraft is a fun, creative video game A Latecomer’s Introduction To Minecraft [MUO Gaming] A Latecomer’s Introduction To Minecraft [MUO Gaming] Minecraft, the block-based sensation that took gaming by storm, is now well over three years old. It’s almost hard to believe it’s been that long since the first alpha was posted – and it’s equally... Read More , it’s unlikely to be seen in the classroom without being illicitly played under the desk on a cell phone.

Or, is it? Mojang, the developers of MineCraft, recently released the Raspberry Pi version of Minecraft. This is cool for a whole bunch of reasons. It’s free; runs on the limited hardware of the Raspberry Pi; and can be expanded by programming with its API.

Already people have used the Minecraft API for awesome things, including creating analog clocks with moving blocks; writing clones of snake that you control by moving the Minecraft character; and even Tetris. Tetris!

Scratch

Scratch is a visual programming language How To Teach Kids Programming From Scratch! How To Teach Kids Programming From Scratch! Read More created by MIT. Whilst visual programming languages share a number of attributes in common with text-based programming languages like Java and Python (in terms of flow control, sequence, selection and repetition), they differ in one crucial way.

compsci-scratch

Programs in Scratch are constructed by dragging and dropping blocks. Whilst this might not appeal to older students or hardened development veterans, it addresses one important demographic: younger students.

We’re talking about elementary school students, here. Primary school students. Those with less experience at the keyboard, but have enough hand-eye co-ordination to drag and drop blocks. And you don’t even need Scratch installed locally, as there’s a rather good browser-based implementation of Scratch on offer.

Kids And Coding

It’s never been a better time to be a young person passionate about programming. Regrettably, all the things which exist now (Linux, Raspberry Pi, Python) either didn’t exist when I was younger, or weren’t refined enough to be used in a classroom.

With that in mind, it’s probably never been a better time to be a young geek. But what do you think? Are you a teacher? Are you teaching coding to a young child or sibling? Let me know in the comments below.

Image Credit: PyConUK (LesPounder), Classroom (Joseph McKinley)

  1. Rob
    March 13, 2014 at 7:56 pm

    I seriously wish I'd been taught with some of these things while at school. My summer holiday's could have been spent so much more productively!

  2. Salim B
    February 11, 2014 at 8:14 am

    Well Said Matthew, thank you for this article .

  3. Mike F
    February 5, 2014 at 4:14 am

    I'd just alter one thing about your article. I'd replace the Raspberry Pi with the upcoming Arduino Tre. If you're familiar with the BeagleBone Black, it uses the same ARM Cortex A-8 CPU, which is more than twice as fast as the deprecated ARM11 in the Pi via the combination of becoming a super scalar, adding the NEON SIMD unit, and upping the clock speed to 1 GHz at the same power level. It also uses the same DDR3L, which is slightly faster than the SDRAM of the Pi while using less power. It has an analogue audio I/O, the same camera port as the Pi, boots the Angstrom Linux distribution by default, Ubuntu, or Arch (just like the BBB) and most importantly, uses the same pin layout and micro controller as the Arduino Leonardo for compatibility with its shields and uses the super simple Arduino programming interface. It also has pin layout compatibility with the BBB to use its capes.

    The two downsides are that it will likely cost about $60, almost twice the Pi, and the PowerVR SGX 530 GPU (really just a frame buffer), can't handle full 1080p, only 720p or 1920x1080 at the cinematic 24 Hz. Of course you can offset the cost by using the BBB, which at $45 is just $10 more than the Pi, but still considerably faster.

  4. kokani
    January 28, 2014 at 5:46 am

    Am happy to be part of this discussion, it will be of help to me. I will be teaching young pupils from the age of 4 -18 for now before including adults who may be interested. My hurdle is "how do i present my ideas to these young people in a more simplified and fun way?" to make it very interest. Currently wanted to start with LEGO MIND STONE ev3 education version. Any one with ideas or materials can assist. Thank you

    • Matthew H
      January 29, 2014 at 8:45 am

      I presume you mean Lego MindStorms? I've used them before. I'm not a huge fan though.

  5. Guy M
    January 17, 2014 at 9:04 pm

    One enterprising engineering student started CodeForKids.ca, in Ottawa and is having great success! I hope it spreads to the rest of Canada.

    My youngest just did a JavaScript course there and was totally stoked! He now has more formal JS training than I do. I can still out code him though...for now.

    • Matthew H
      January 27, 2014 at 11:04 am

      That's awesome Guy. How did the JavaScript course work out for your youngun?

    • Guy M
      January 29, 2014 at 7:22 pm

      He absolutely loved it! He wants to be a game developer, so this gave him some insight into what coding really is.

    • Matthew H
      January 29, 2014 at 9:55 pm

      Nice! Now teach him about HTML5 canvas and let him loose on the world. :D

  6. Martin Knowles
    January 17, 2014 at 10:55 am

    Ah, another fellow Python on Symbian S60 geek!
    I use an old Nokia N97, which has a built in physical qwerty keyboard, tons of RAM and with Python is pretty quick too. It's like having a tiny PC in your pocket, and through the API I can access all of the phone's functionality. That's texts, emails, graphics, GPS, accelerometer...
    Like a portable Pi without having to add on all those extra modules. Why aren't there more devices like this?

    • Matthew H
      January 27, 2014 at 11:03 am

      Guilty as charged. I actually have a soft spot for Symbian S60, although the N97 was a bit of a missed opportunity. Resistive touchscreens couldn't compete with the then newly released iPhone.

  7. Steve
    January 17, 2014 at 9:23 am

    Don't forget the excellent Robot Turtles Board Game (http://www.robotturtles.com/).
    Hard to find now as it was a kickstarter one off but my kids love it.
    If you are in the UK there are a few on Ebay

  8. Catherine M
    January 17, 2014 at 12:25 am

    Also include any Senior Citizens that have decided they want to learn too!

    • Matthew H
      January 27, 2014 at 11:01 am

      Quite right! Although, I'm not sure of any programming sites which cater to senior citizens!

  9. Jenni
    January 16, 2014 at 6:48 pm

    Codecademy is great too!

    • Matthew H
      January 27, 2014 at 11:01 am

      Most definitely, although I found it a bit too sandboxed for my liking!

  10. Elad P
    January 16, 2014 at 10:06 am

    The best way to teach programming of any kind is by creating games - and I'm not referring just to kids! When you create something visual that you and others can experience in a fun and engaging way you'll care about it and would want to make it better and develop it further.
    There are a lot of softwares out there which can ease the process and doesn't require you to be a professional coder in order to create great things.
    "Construct 2", for example, is a great software for learning the basics and understand "how computers think". With a more visual approach and pre-defined mechanics it allows you to create a functioning game in a few hours or even minutes! Very recommended :)

    • Matthew H
      January 27, 2014 at 11:01 am

      I'm actually inclined to agree. I have an awesome Python book at home which tries to teach Python within the context of PyGame. Very cool stuff.

  11. Kevin M.
    January 16, 2014 at 6:08 am

    Would love it if your site retained some basic form so long post don't look like crap because it cant even do a simple task of creating basic tags for Christ sake!

    • Matthew H
      January 27, 2014 at 11:00 am

      Hey Kevin. What do you mean?

  12. Kevin M.
    January 16, 2014 at 6:06 am

    This goes beyond just computing and I think it is safe to say that the way kids are learning today is more or less identical to the way they was taught before there was electricity in school. We need fresh new ideas on how to teach and then and only then are we going to get back the kids with imaginations and ideas. While we are at it lets abolish teachers unions and force these fat lazy teachers to get off their ass and do what they came to school to do (or what should have been their drive), educate and inspire our kids to learn more! Its a fact that we can clearly see, give someone a paycheck without asking for anything in return and you get nothing!!

    Here in the US the goal is not to educate but rather assimilate and the last thing they want is independent thinkers. I wish all schools the best and I challenge them to come up with new and exciting ways to teach. Until the education of our kids is more important to us than what dumb ass politician is doing today, we lose. To put that in perspective a report I read said we lose 1 child every 8 seconds of every school day because we are not engaging them, we are not teaching them in a way that they relate to.

    When I say lose a child I mean they lose interest and rarely find it again. I also challenge parents to make a difference. In the end we can set here and blame the teacher but if we make a difference at home at least your child is armed with what they need to know so they can go to school and if they are not learning at least they will be able to see the writing on the wall and ask their teacher why they are not learning anything!

    • Chana
      January 16, 2014 at 8:41 pm

      I dunno...did you hear about the teacher who walked up to the kid with the gun and got him to put it down in New Mexico? Thus saving the lives of probably hundreds of kids. Maybe teachers aren't so lazy after all?

      It's true, we do lose kids' interests. A big part of that is actually that we're NOT teaching the way we used to-things like music, art, history, etc, that used to help keep kids' interested have been cut from the budget in most places because they're not on the state tests. School libraries, which used to have books kids wanted to read, and school librarians, who used to help kids find books they wanted to read, are getting closed down and fired. That's a huge problem. Kids are now expected to be able to read when they first get into kindergarten (I guess their parents are supposed to have taught them? Mine didn't teach me). They're not allowed to play in kindergarten-even though, honestly, 5 years old is too little to sit still at a desk all day. RECESS, which helped kids pay attention and feel like part of their school, is non-existent in most schools now. They don't let them have more than 15 minutes for lunch in some schools because they'd be losing test prep time. If I was a kid, that would make me a whole lot less interested in school.

      And last but not least....poverty. And the way we fund schools. I know a lot of teachers who would LOVE to do Minecraft or with their students. I would have loved to do it when I was teaching. But if you work for a school in a poor area, you don't have enough computers to do it, your computers aren't fast enough, and the principal is likely to tell you it's too much time taken away from test prep.

      We also have an increasing number of students who live in poverty. A lot of them don't have parents who are able to teach them how to read before kindergarten starts. So they start school failing through no fault of their own. And the system doesn't allow teachers to help them catch up. They also end up at schools where they don't have music, art, etc, and where all they do is test prep (for tests they never do well on because they never caught up from kindergarten). They aren't given books to read that mirror their real experiences because the schools see those books as subversive. (y'know, we shouldn't talk about poverty in schools). If school was like that for you, would you pay attention? or would you just be really angry all the time. I know what would happen to me.

      There are a lot of teachers that care passionately about this state of affairs and really want to change it-but every time they try they get shot down. Go watch Mitchell 20-it's a documentary about 20 teachers who did manage to transform a school. Guess what? They all got split up and transferred to other schools. The system, whatever it may tell you, doesn't want things to change. They just want to pay teachers less.

    • Peter
      January 24, 2014 at 7:55 am

      Kevin,

      I resent that you blame the teachers for 'bad education'. Are you a teacher? Have you ever taught a class? I am a teacher. These people you are talking about, the people that you say we "lose". Most of these kids where lost before they ever set foot inside a school. From the very first day they come in they cause issues. We call in the parents and when the parents come you will see in most cases the apple doesn't fall far from the tree.

      I have people telling me all the time its up to me to help that child. I cant. When a child says to me "my father says learning maths will never help me"... what do I say to that? I could take the next 20 minutes and try to explain why that might be wrong but the child has a lifetime of people telling him the opposite and when he goes home and tells Daddy about how maths actually do help, Daddy tells him the teacher is stupid and not to listen to him.

      I would have spend how many hours with this kid alone and try and override everything that he has been taught his whole life. But I cant do that. There is a full classroom of other students that need to learn. And chances are there are at least 2 other students just like him in the room. As a teacher all I can really do is just sit back and watch that child 'get lost' in the system and just try my best to get as many other students through as possible.

      If I had it my way, I would set up classes (and probably take the kids away from the parents) and tell them, listen, your parents are dead beat drug addicts living on welfare. That is not a good place to be. You need to stop thinking thats a way of life. Following in your parents footsteps is not something you want to do.

      Blaming schools is not the answer. Most of these parents only send the kids to school not because they want their children educated but because 1) its free babysitting for a few hours every day and 2) if they didn't they would up in legal trouble.

    • Kevin M.
      January 24, 2014 at 6:06 pm

      Peter - I commend ALL good instructors but like anything it only takes a few bad apples to spoil the bunch. My biggest complaint is with our government and their ideal that everyone can be taught the same and then dictate what can and cannot be taught. In my local area we have the most screwed up education system around. We have more dead beat teachers and staff than I care to talk about. We have a war brewing in grade schools and junior high with power tripping teachers and staff that act like these kids are a pain in their ass when in fact it is the kids that are the reason they can teach.

      So yes I have bad things to say about teachers in general but I will be the first to commend and praise the ones that are working hard for a better tomorrow. Thank you Peter for all that you have done and tried. I will say though that if you don't want us to blame the schools in general then give us the names of those that are to blame. You cannot stand up for yourself in a system of millions and think that you will be set apart when the hammer comes down. So yes blaming schools is our answer, it is our only answer. The teachers need to get behind those of us parents that are sick of this broken system and want change!

  13. Junil M
    January 16, 2014 at 5:17 am

    I think these are not only great for kids but for anyone who wants to learn programming. these programs and sites will help lots of beginners who want to learn.

    • Matthew H
      January 27, 2014 at 11:00 am

      Agreed. And let's face it; we all love Minecraft!

Leave a Reply

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