Thursday, June 14, 2012

Capacity Focus, 51: The Raspberry Pi in action, with side notes on Python and the ARM microprocessor architecture

A Guardian journalist gives us a first look at the Raspberry Pi, plugging in, setting up, booting to a desktop, and playing a game of "Snake":

   
   
   
   
   

What becomes interesting is that he also opens a side window: the Python source code for the game. He notes that as a scripting language, Python is easy to access for even the young. (This is of course because a lot of the housekeeping is hidden from the user.)

It is also possible to set up Java on the Raspberry Pi, as we may see:


The computer being screen cast is a Mac with the Raspberry Pi hosted through a network, and the use of a web cam window to show and tell is a useful pedagogical trick.

The implication is that we are looking at hosting the R Pi as an input/output controller unit.

This will be great for interfacing and control work, once it is further developed.

This means a word or two on the ARM microprocessor architecture is in order.

First, the best rough definition of a computer's architecture is: the assembly language's view of the computer. That is, we are looking at the registers, function units, memory and interfacing to the external world, and at how these are organised. For instance:


Obviously, we are not going to do a tutorial on the ARM archi here, but let us just note that the ARM is a strong or dominant contender in the smart phone and tablet markets, and in the markets for microcontrollers used in embedded systems. 

In simpler terms, the ARM is the main architecture we need to address in a course that would focus on using microprocessors in control or embedded systems. Where also, given the dominance of smart phones and tablets, this archi is also important there.

That means we have a platform for the follow on course to an intro to programming course, focussed on such applications. END