The University of Cambridge has launched a free online course for aspiring programmers, offering guidance on how to write an operating system for the Raspberry Pi computer.
The course, aptly named "Baking Pi - Operating Systems Development," introduces pupils to the basics of assembly language programming and OS building. It consists of a series of 12 lessons, each of which includes a combination of theory and practical exercise.
Created by Alex Chadwick and the University of Cambridge Computer Lab, the course first explains exactly what assembly language is, and what an operating system is, before teaching pupils how to enable and manipulate one of the board's LED lights and build a USB driver.
Subsequent lessons involve some graphics theory, and instruction on how to generate lines, text and random numbers. Eventually pupils will be able to manipulate text to display computed values, and build their own command line interface.
The course is aimed at people aged 16 and upwards. It is not intended for those without any programming knowledge, but is designed to be accessible to those who are new to assembly language.
"This is as much a course on bare-metal programming as it is on OS building," wrote Liz Upton, communication officer for the Raspberry Pi Foundation, in a blog post.
"It's not easy, and it's not meant to be; we expect you to find this course challenging - and you should find you come out of it with a great deal of skill and knowledge that you didn't have before."
The University of Cambridge course outline adds that, although the lessons are generally focused on creating very specific things, there is plenty of room for pupils to play with what they learn.
"Perhaps, after reading the lesson on functions, you imagine a better style of assembly code. Perhaps after the lessons on graphics you imagine a 3D operating system [...] If you have an idea, try it! Computer Science is still a young subject, and so there is plenty left to discover!"
Since going on sale in February, Raspberry Pi has helped to drive a new wave of enthusiasm for computer programming. With a motherboard no bigger than a credit card, Raspberry Pi is extremely cheap, but is capable of running basic word processing and Internet applications.
The computer has basic input, display and networking ports, and can run Linux flavours including Fedora, Debian and ArchLinux.
It has been touted by some as an inexpensive way to replace home theatre PCs or low-power Windows desktops for basic Internet and productivity applications. However, the primary aim of the nonprofit Raspberry Pi Foundation is to promote programming among students.