What is a Raspberry Pi?

I have in my hands, at last, a Raspberry Pi. No, not a delicious item of food, but a tiny, cheap computer designed to encourage people to learn how it works and make it do something new.

Handheld Raspberry Pi

The Raspberry Pi has been brought into being by the Raspberry Pi Foundation, a charity who put their intentions like this:

We don’t claim to have all the answers. We don’t think that the Raspberry Pi is a fix to all of the world’s computing issues; we do believe that we can be a catalyst. We want to see cheap, accessible, programmable computers everywhere; we actively encourage other companies to clone what we’re doing. We want to break the paradigm where without spending hundreds of pounds on a PC, families can’t use the internet. We want owning a truly personal computer to be normal for children. We think that 2012 is going to be a very exciting year.

The people behind the idea want to address the lack of people studying for computer science degrees and they identified two problems which may cause this. One is that the way the computers (ICT) are taught in school is boring and business focused, teaching office skills and not computer science, and the other is that computers now are far more expensive and complex than those in the 80s, such as the BBC micro or the ZX Spectrum. Those computers, unlike the modern PC or Mac, encouraged tinkering, learning and extending.

I recommend that you watch this report from BBC Click which looks at the problem: Can a £15 computer solve the programming gap? [BBC Click]

To keep costs down, the Raspberry Pi uses an Arm processor – the same as in most mobile phones – and does not have very much memory. It is designed to connect to a TV so that an expensive monitor is not necessary. It uses the free Linux operating system which is also open to being modified by the end user. The intention is that simple programming software will be included with the Pi to enable someone to simply plug it in and start learning to write code. The copy of Linux which is recommended for the Raspberry Pi currently includes Scratch, which allows kids to create and animate “interactive stories, animations, games, music, and art” by dragging and dropping blocks of computer code.

The Raspberry Pi model B sells for approximately £30 once you add VAT and delivery and will be available from RS and from Element 14 / Farnell once they have the stock available. There will eventually be a Model A which will be a few pounds cheaper but will lack a network socket and will have only one USB socket. In addition to the Raspberry Pi itself you will need a memory card (SD card) to hold Linux, a keyboard and mouse with USB connectors, a power supply of the Micro USB sort used by many modern mobile phones, and access to a TV or monitor with a HDMI or a composite video connector. These may already be available but if not will add a few pounds to the cost.

At the moment the Raspberry Pi is mostly selling to hobbyists and enthusiasts rather than into education. That’s OK though; at the moment the software for the Pi requires quite a lot of experimentation and difficult-to-follow steps to make some things work and it isn’t really ready for prime time. Many of those people fortunate enough to get their hands on an early Raspberry Pi are working out the problems and feeding information back to everyone that will use one in the best tradition of open source software. By the time kids start to see these in schools in a few months there will hopefully be a lot more software ready to use without too much knowledge necessary.

Unless you already knew about the Raspberry Pi, you probably can’t have one at the moment. Interest in the Pi has been astonishingly high and I think that several hundred thousand people have placed pre-orders or signed up to reserve one. The initial batch was only ten thousand! I signed up for mine at 1 minute past 6 (am!) on the launch day three months ago and I have only just got one so new orders will take a few months yet.

Coming soon: I plan to write about getting started with the Raspberry Pi, what you need, and how to set it up and do something useful with it.

More Information

Can a £15 computer solve the programming gap? [BBC Click]

Computer programming at school [A Latent Existence]

Raspberry Pi: About Us [Raspberry Pi]

 

Computer programming at school

There has been an increasing movement recently to have more computer science and computer programming taught in schools. I wrote about this a while ago in Why kids should learn to program computers and several organisations have begun to campaign about this. See Games, government and the future of coding in the UK [Guardian Gamesblog] and Programming should take pride of place in our schools [The Observer]

To me, the campaign to teach computer programming and computer science in school is really in two parts. The first part is to expose children to computer programming at a young enough age that they get a chance to learn it while it is easy for them, and to allow some of them to discover a love of coding that they might otherwise never pay attention to. The second part is to make sure that those who then choose to study Information and Communications Technology (ICT) at GCSE level are actually taught computer science – transferable principles of computing – and not just how to use computers for business. At the moment the ICT GCSE really consists of office skills. Learning to use a word processor, spreadsheet, database, and make presentations is quite important but I believe that these are simple things that every child should know in order to do their homework. In effect the ICT GCSE is like teaching someone to write but only on headed paper branded with a Microsoft logo. It is a necessary skill made so focussed and narrow as to be a bit pointless. Those who have actually chosen to study computing ought to be given a much deeper understanding of how computers work and impact the world around us.

At school in the 80s there was a BBC micro in the corner of nearly every classroom. Some children played educational games on them. Some used the simple word processor to type up their work. Some of us discovered that we could make the computer do things by typing commands. Fun things. For example, the old classic:

10 PRINT “STEVE IS THE BEST”
20 GOTO 10

The next question after seeing this little gem is often “What else can I make the computer do?” Of course not everyone asked this question, not even a majority, but those who did often went on to acquire a new hobby and a love of learning about these machines. Many of those people entered the computer software industry and now produce games and applications for a living. Others may use their skill to apply information technology to their job in all sorts of industries. Without the same opportunity and prompting present in classrooms any more, that chance of an early introduction has been lost.

One argument for teaching computer programming in schools is that it is a useful skill for future employment. In fact writing software is one thing that the UK has a good reputation for in the global market. However less people are going into the software industry now and the UK needs more programmers to keep the industry going. This might well be due to children not being exposed to coding early on and never discovering their talent or love for coding. It might also be because computers in the 80s did very little without being programmed to do something interesting by the end user. Now we have games consoles and web browsers so that children don’t have to learn any coding at all to get entertainment from computers. Preparing people for work is not the only reason to teach programming; I think that part of school should be a chance to cover a wide range of subjects so that children can discover new things that they might then choose to study at a higher level or go on to learn on their own as a hobby.

This video from BBC Click talks about the Raspberry Pi project to get ultra-cheap ultra-simple computers back in front of children and into classrooms. Can a £15 computer solve the programming gap? [BBC Click] It also visits a classroom where 11 year old children are being given the chance to create computer games as an introduction to programming. It is very interesting to see how they seem to take to it easily and get very absorbed in the project. This is what is being lost if we do not introduce them to the subject at that young age.

I have seen the argument that computer programming should not be taught in schools because there are other more important subjects that should be taught. There are many things that children ought to learn about and not enough time to teach them. I can sympathise with this argument to some extent. There are important skills that ought to be taught. I would suggest that managing a household budget and cooking are two essential ones. However, children are also taught subjects that might be to develop indirect skills or might even be just for fun.  I think that they should be introduced to computer programming very young, between the ages of 6 and 12. At these younger ages I don’t think that there is such a conflict between subjects, although I could be wrong about this. At any rate, an introduction to programming would not need to be dragged out over a long period. It would suffice to introduce the subject in a few lessons and then allow those that have had their imagination captured by the subject to continue in their own time with access to school resources.

If those children then go on to study ICT at GCSE, they might be disappointed with its focus on office skills. Reform of the ICT GCSE only affects people that have chosen to study it. I know of many people who have been frustrated at what they were directed to study because it was what they already knew and does not stretch them, and because they were not taught anything more advanced. I would like to teach office skills to all students early on as part of other subjects, (I think that happens already) and then people choosing ICT ought to get the more in-depth teaching that they would like.

What do you think? Do you agree or disagree? Vote in the poll and have your say in the comments below.