This is a free 12 lesson course which will bend your brain a little, so not for the faint hearted. So long as you like a tough mental challenge this is a bare metal course which will give you a solid understanding of programming basics. 1 Requirements In order to complete this course you will need a Raspberry Pi with an SD card and power supply, as well as another computer running a version of Linux, Microsoft Windows or Mac OS X, capable of writing to the SD card, and installing software. It is helpful, but not necessary, for your Raspberry Pi to be able to be connected to a screen. In terms of software, you require a GNU compiler toolchain that targets ARMv6. Links for downloads are available on the Downloads Page, along with model answers for all of the exercises. http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/