Third party cookies may be stored when visiting this site. Please see the cookie information.

Raspberry Pi - Linux computer for learning programming

What is the Raspberry Pi?

The Raspberry Pi is a small computer. It's about the same length and width as a credit card and costs only $32. It has been designed as a educational computer for school children to learn to program, but is also hugely popular due to it's small size and amazing low cost. To understand more about the reason behind the Raspberry Pi then read this story.

Raspberry Pi Linux computer

The story of computer programming in the UK

Long long ago (in the 1980s) it finally became affordable to have a computer at home. These became the must have Christmas presents for children. At this time the BBC launched the BBC micro to accompany a TV series in computer literacy. The BBC micro was a big success with schools. The key thing about these computers is that the computers didn't have any of the GUIs that we see today, but instead presented the user with a prompt for the basic programming language. As a result kids learned basic programming at a young age. By the time that the kids reached university they were already quite proficient in programming. The result of this is that the UK was one of the leading countries in the world for software and game development.

Move forward a decade or so and universities are seeing that the number of people applying for computer science courses has dropped and the experience of those that do apply are not as good as in the past.

The problem with the current generation is that children are not learning to program as they did before. Computers that used to present a programming shell have now been replaced by computers with icons and menu buttons. Users no longer need to know anything about programming to use a computer. In addition the school curriculum no longer focuses on teaching programming with computer science being all but replaced by IT courses focussing on using office applications and spreadsheets.

The Raspberry Pi foundation hopes to restore computer programming as a key part of children's education, with the Raspberry Pi as a primary tool in achieving this. The low cost of the Raspberry Pi means that these are affordable for schools and so that children can have their own computer to play with. As this is dedicated there is no risk of the child breaking the family computer or of losing important data and the worst case is that the operating system can be re-imaged.

Learning Linux, programming and embedded computer

I am fully behind the objectives of the Raspberry Pi foundation. I also think that there are other things that can be useful for the UKs IT and technology industries as well.

As someone that has worked in the IT industry since 1996 I have found programming to be a very useful tool, but is only a small aspect of the work I've done. I believe that networking and system administration are also vital skills that the Raspberry Pi can also help to teach. This was the motivation around creating the PenguinTutor website to assist with children and adults learning the skills to become a system administrator and Linux certification through the LPI exams. The cost is low enough to allow these to be used to create clustered computers or load balanced systems which would otherwise be too expensive to setup.

Another area that I believe the Raspberry Pi could be useful for is as an embedded computer for use in learning electronics. In the past I was quite active with hobby electronics. After completing my electronics degree I stopped my interest in hobby electronics for a while as the cost and functionality of commercial devices compared with hobby electronics became too great. I became interested in electronics again when the Arduino was released as it opened up a new area of electronics in a way that is easy to use and low cost. The Raspberry Pi provides even more processing power and combined with the Arduino provides a great potential for embedded electronics, robotics and other systems. Since the Raspberry Pi has come out I've been back into electronics in a big way, creating numerous electronics projects that interface with the Raspberry Pi.

The specification of the Raspberry Pi

There are now several versions of the Raspberry Pi which has evolved as computing has progressed. One way in which it differs from a "standard" PC is that it is based around a RISC based ARM processor. This is similar to the processors used in many mobile phones and most tablet computers. The Raspberry Pi uses an SD card for storage and is powered using a USB cable. It is normally connected to a TV or monitor through an HDMI connection.

Raspberry Pi 1

The original Raspberry Pi had 256Mb of RAM, which increased to 512MB in a later revision. It has a 26-way GPIO (General Purpose Input Output) connector which can be used for connecting to electronic circuits. Later versions of the Raspberry Pi (B+ and later) have 40-way GPIO connectors providing more ways of connecting electronics.

Pi Zero

The Pi Zero went even further in reducing the size and cost of computing. It combined most of the features from the original Raspberry Pi 1 into a circuit board a little bigger than a stick of chewing gum. Due to the space constraints it uses a mini USB connector for connecting peripherals and a mini HDMI connector for the video output.

The Pi Zero includes the GPIO connector, but the header pins are not soldered on. See the guide to soldering on the header pins.

Raspberry Pi 2

The Raspberry Pi 2 swapped the single-core processor for a much faster quad-core processor and increased the memory to 1GB RAM. This makes the Pi2 a much better platform for using as a general purpose computer as it can run many applications including LibreOffice at acceptable speed.

Raspberry Pi 3

The Raspberry Pi 3 changes the processor to an even more powerful 64-bit processor. It also adds Wi-Fi and bluetooth which previously needed to be added as a USB device.

Up and running

To get the Raspberry Pi working an SD card needs to be prepared with the Linux operating system installed. This can be done on a computer running Linux, Mac OS X or Windows with an SD card reader. The recommended version is Debian which can be installed using the NOOBs installer.

Installed software

The following software is installed by default on the Debian Raspberry Pi image.

  • Browser - Basic but capable web browsing (no support for Flash)
  • Scratch - Simple programming language for young children based around drag and dropping actions
  • Python - Powerful programming language which is a good starting point for learning programming
  • Music player - Listen to you favourite music whilst you do a bit of programming

As mentioned already there is a huge range of other open source software that just needs to be installed. This includes the LibreOffice software.

Summary

The Raspberry Pi is a small computer ideal for learning to program and learn system administration skills. It's also a great platform for driving electronic circuits (perhaps combined with the Arduino) or for dedicated computers such as media device.

The low cost and flexible connectivity options (HDMI out) make it ideal for a child's bedroom without the expense of a computer monitor.

Using an SD card as the main storage allows full experimentation with the ability to start again if things go wrong.

More information

See the guides and blog posts relating to the Raspberry Pi. Also see the Linux Tutorials for more information on using Linux.

Other Raspberry Pi Projects and tutorials

Next Linux documentation and help reference guide
Linux documentation and help reference guide