Saturday, March 18, 2017

Tangible Programming

Exponential developments in digital technology have given us a trillion fold increase in computing performance over the last 60 years and brought about one of the most "interesting" times in technology I have known - a time of radical change in both the form and nature of what used to be called computers ... does anyone call a smartphone a computer?

Exponential developments in processing have given us powerful, big and expensive supercomputers like TaihuLight - the biggest, fastest, most powerful computer in the world in November 2016 with 10 million CPU cores and capable of 93 petaflops. But exponential development continues ... in 2018 IBM plan to more than double the power of TaihuLight with a new supercomputer called "Summit" said to be able to run at 200 Petaflops!

Exponential developments in processing have given us cheap and small computing in abundance. In 1969 the Apollo guidance computer took astronauts to the moon and back with just 2k of memory - a decade later you could buy a personal computer with 8 times the memory of the Apollo guidance computer. I first programmed a computer in 1972 - an ICL 2900 mainframe with 2Mb RAM that filled a room and cost £15m in today's money -  In 2016 you could get hundreds of times more power given away free on the cover of a magazine when the Raspberry Pi magazine MagPi gave away the PI Zero on its coverIn 1996 the Hitachi SR2201/1024 supercomputer ran at 220.4 Gflops and was the fastest computer in the world ... today you can put this in your pocket with a Smartphone like the Samsung S7 which runs at 265Gflops and does a whole lot more besides.

Computers have got bigger, smaller, changed form and become embedded in things. Computers once filled rooms then our desks and laps - now we put them in pockets, wear them and interact with them as objects around us - video recorders, cameras, heating systems, washing machines and ovens for example. 

Its not just computer hardware that is changing in nature and form - software, programming and the way we interact with computers is also changing radically. When I started using computers in the 1970s all we could do was type in text commands and get text replies back - the Command User Interface (CUI) was all we had. I remember the excitement of the mid 1980s when computers started showing us graphics and we could interact with those graphics - the Graphical User Interface (GUI) revolutionised the way we interacted with computers - at last with computers What You See Is What You get (WYSIWYG). Computers turned into WIMPs (Windows Icons Menus Pointers) and stayed that way ever since .... but things are changing.

"Soon We Won’t Program Computers. We’ll Train Them Like Dogs."

Exponential changes in hardware and software capability are bringing about a new revolution in how we interact with computers. We will no longer have to treat computers as WIMPs - they are coming out into our world and we will be able to interact and program the computers around us in more natural and diverse ways. Complex technologies are being shrunk and embedded into devices so that we will be able to gesture, look and talk to our computers - the CUI is coming back but this time as a Conversational User Interface. Deep Learning Will Radically Change the Ways We Interact with Technology and Soon We Won’t Program Computers. We’ll Train Them Like Dogs.
Computers and computing are coming out into our world as objects that we can interact with directly in many different ways - its time to start thinking differently about computers. Its time to think less about computing and more about computational thinking. It's time to think less about coding and more about learning to program and programming to learn. 

"Nothing ever becomes real until it is experienced" 
~ John Keats

Although we spend increasing amounts of time learning through computer screens people learn best when they are active and doing things hands on and in the real world. Seymour Papert’s research convinced him that children learned more efficiently if they could see a tangible result and saw computers as "objects to think with rather than dispensers of information". Atomic physics is pretty abstract but even an atomic physicist makes the case for active learning and talking about physicists .... Albert Einstein once said that "Learning is experience. Everything else is just information". 

Tangible programming is a response to radical changes in the nature and form of computers and the way we interact with them. Computers and the way we program them will continue as they are today but will also become more pervasive in the world around us embedded in connected things and smart objects. Tangible programming recognises that there is more to programming a computer than punching code into a keyboard and seeing the results on a screen. Tangible programming recognises that we can program a computer to do tangible things and that we can program a computer in tangible ways - using voice, gestures, movements and programming computers as tangible smart or connected objects.  

Tangible programming is a response to the way people learn best with immediate and tangible results of play, discovery, experimenting, making, doing and through tangible experience. Tangible programming recognises that one of the best ways to learn is to teach and in programming we are essentially teaching a computer to do something. 

Tangible programming is a preparation for the future. We are at the beginning of the information age - an information revolution or as some people call it (oxymoronically) - The Fourth Industrial Revolution. There is a great deal of uncertainty and change ahead and much of this change could be fast and radical as exponential developments in digital technology permeate our world and transform it.

"We stand on the brink of a technological revolution that will fundamentally alter the way we live, work, and relate to one another. In its scale, scope, and complexity, the transformation will be unlike anything humankind has experienced before." ~ World Economic Forum

The World Economic Forum Future of Jobs Report estimates that "65% of children entering primary school today will ultimately end up working in completely new job types that don’t yet exist” and that even “old” jobs will look radically different in workplaces transformed by technology.

We cannot simply educate future generations for the jobs of today or tomorrow but must educate future generations to be able to think, adapt and to learn and work in the future. The essential, crucial skill is the ability to think and learn. Tangible programming is not about learning to code for the jobs of today or tomorrow but about learning to program and using programming as a way of learning

"The child programs the computer. And in teaching the computer how to think, children embark on an exploration about how they themselves think."Seymour Papert

Thinking is good and programming encourages lots of thinking - most notably computational thinking but also lateral thinking, creative thinking, design thinking, rational thinking etc. Programming is about problem solving, communication, creativity and invention - it helps people develop a useful life-wide and life-lifelong way of thinking and a set of practical transferable skills that can help them adapt to changes in their lives and the future. 

In the uncertain future of the information age and pervasive computing don't panic - learn to program as a way of learning.

InspireNshare develop the value of people in an increasingly automated future and use computers as evocative objects to think with and tangible programming as a way of learning.

Find out more about inspireNshare at



No comments:

Post a Comment