The Three Principles Of Programming - An Exhibition
The Three Principles Of Programming - An Exhibition
Written by Mike James   
Sunday, 17 March 2013

The London Science Museum has some interesting new exhibits as part of its Codebreaker exhibition that demonstrate the three key ideas in programming - looping, conditionals and variables.

The exhibits were all  built by Hirsh & Mann and the brief was to create something connected to the progress in computing and the spirit of engineering and innovation. As it turned out, they selected three installations that demonstrate what the team rightfully identify as the key programming principles.

If you ask a working programmer what the three key programming principles are, you would probably get something about encapsulation, inheritance or whatever the latest high-level language trend was. Ask a computer scientist and they would probably waffle about recursive function theory. In other words, it is difficult to get a sensible answer from people too close to the subject matter.

But if you focus on what programming is about and what makes it different from other subjects, at the most basic of levels then  the idea of the variable, the loop and the conditional are the key primitives.

At the heart of each exhibit sat an Arduino - so no random 74 TTL logic chips here.



The one on looping has a spinning rotor with LEDs that create persistence of video patterns that visitors can control using 20 buttons.

The conditional display presents a version of Wolfram's cellular automata with the user able to set the rules.

The exhibit about variables is a mechanical tree with sliders to alter the angles.

The clever and perhaps daring part in this age of dumbing down is that the central display has a simplified pseudo code that highlights the current line being executed.

If you can't get to the exhibition then take a look at the following video which shows some of the construction details:


These are all great fun and very impressive to look at, but I'm not sure I agree that they get the fundamental concept over to the innocent viewer. Perhaps this isn't possible to achieve in a fun and enteratining way? Could you think up something better?





Microsoft Closes RoboVM - What Should Devs Do?

RoboVM, a technology that allows you to run Java applications on iOS devices, is widely used by game developers. The news that it is to close comes as a blow to those developing games with libGDX, but [ ... ]

GNU Gneural Network - Do We Need Another Open Source DNN?

Everyone who is anyone needs their own neural network package and GNU, not to be left out of the action, has just released version 0.8.0 of Gneural - what else would they call it? Is this just a gestu [ ... ]

More News


Last Updated ( Saturday, 16 March 2013 )

RSS feed of news items only
I Programmer News
Copyright © 2016 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.