Showing posts with label education. Show all posts
Showing posts with label education. Show all posts

Tuesday, 10 January 2012

Two lines of code can change your life

I've written about this before (and I'll most likely write about it again), so apologies in advance if I bore people to death with it. It's the issue of education and computing. There have been a few reports recently indicating that computing courses in the UK are failing their students, the worst examples being some of the specialist games development courses: just 12% of graduates having found a job in recent times.

I write code for a living, and I enjoy my job. I'm very lucky to be doing something that I really want to do, and I think that I'm doubly lucky because it's taken me a long and improbable route to get here. And fundamentally, that route started when I was about seven or eight, and I first wrote the lines:

10 PRINT "My name is David"
20 GOTO 10
RUN

Suddenly, my television screen was filled with an endlessly repeating filler of My name is David. I'd managed to get a computer to do something that I had told it to. I was hooked. Over the next few years I would often be found hunched over the beige keyboard of my trusty Acorn Electron, typing in programs and trying to get them to work. By the time I was fourteen, just typing in other people's code wasn't enough, and I began to try and write my own from scratch, starting an epic quest to produce a text adventure game.

I don't know what it was that really spurred me on, whether it was getting to hang around with some seriously talented young developers (I kid you not, these guys had clubbed together and written an email application for the school network while I was still working on drawing a circle on the screen), or that I was very much supported by the school I was in, but despite a long time not working in the IT industry, I came back to college, and picked up Java again. And it was almost like I'd never left.

The thing is, when I was younger, it seemed so much easier to start programming. The languages were so much closer to you - heck, the Electron started up with a BASIC prompt. I can well see someone these days enrolling on a programming course and being slightly taken aback when presented with their first view of an IDE or a command line.

Now, I'm not living in the UK at the moment, so I guess I'm not really qualified to talk about the way that ICT is taught there, and I'm not well enough acquainted with the details of ICT eduction in Ireland, either. But the reports that more and more computing lessons are heading towards teaching basic office skills are a little worrying. It's not that people don't need the ability to use the word processor / spreadsheet / office suite du jour, but it would be great to see other classes available for people who really do want to stretch themselves. There are plenty of resources on the web these days - with many kids it might just take a small push in the right direction, and boom - we have another killer app developer in the running.

It sounds like we might be moving in the right direction at last though, with a few new initiatives kicking around to try and get children interested in the reality of computer science from a younger age, and I really do believe that one of the ways to do that is to show them how easy it is to get started. Show how quickly you can put together a web page. Write a little java program to print stuff out on screen or a simple game. Try and get hold of some of the old computer controlled Lego Technic, or - better yet - the new Mindstorms NXT. Given the choice between working on a spreadsheet and teaching a robot to walk? I know which one I'd choose.

People keep talking about the knowledge economy. We've got to make sure that we create a generation who are going to be up to creating that knowledge, not just using the fruits of it.

Remember, sometimes all it takes to spark an interest is two lines of code. (Though next time, please don't use GOTO. Bad habits and all that ;-) )

Sunday, 28 August 2011

An ode to the Acorn Electron, or: Thoughts on Computing in Education

*beep*

Acorn Electron

BASIC

>

Ahh, nostalgia. I think my folks still have the first computer I ever used somewhere, up in the attic. An Acorn Electron, with a whole thirty-two kilobytes of RAM, and no disk drives - you had to plug in a temperamental tape deck and wait fifteen agonising minutes loading a game before you found out that you'd set something up wrong and you'd have to start all over again. But I loved it. And nearly as much as the games (Citadel! Palace of Magic! Frenzy!), I loved the idea that you could write your own programs for it, too. I spent hours trying to write my own versions of the games that I played, by typing in programs that I found in magazines, and then spending just as many hours trying to figure out which of the semi-colons or quotation marks that I'd typed wrongly.

I sometimes stop to think about how I would have turned out born just a few years later. The Electron, by booting straight into this (admittedly crude) programming environment, really made the point that you were supposed to try and do your own thing with the computer rather than just accepting what other people had written.

I don't know a great deal about the current state of computing in education, but it's something that I should find out more about. I remember that IT lessons were adventures in controlling a turtle onscreen, or (if we were lucky) controlling actual Lego connected to the serial port. It really opened your eyes to the possibilities of computers as tools. I'd like to think that there are some quick and easy programming languages for kids still out there. Whatever happens in the future, we can't just have computing lessons being restricted to learning how to use the office software suite du jour. What a way to kill any enthusiasm.

There's no shortage of resources for programming education. And the thing is, many of them are free: look at Greenfoot, for Java. It hides a lot of the complexity of the language: but that's a great way to start. It's got a graphical interface: that's great.

The problem is, of course, that to teach Java, you need to know some Java in the first place. And how do we get that kind of knowledge imparted? How many teachers are there in schools with any kind of programming knowledge? Not nearly enough. Following on from that, these programs also need to be installed, set up, and maintained. Who's going to take care of that? Much easier to just teach kids how to use the internet, a word processor and a spreadsheet.

Perhaps a special kind of week-long code camp could be run for children with any kind of interest in programming: do a week of classes in the summer holidays covering the very basics - and give pointers on places to look for further information. It might whet someone's interest, and - who knows - might produce the programmers of tomorrow.