Computing and magic

Around 2 years ago I published a special coding edition of Digital Education, my free newsletter (see cover picture, below). One of the articles was about computational thinking and magic, by Professor Paul Curzon.

 Digital Education, June 2014

Digital Education, June 2014

If you missed it, don't fret, because here it is!

The Magic of Human-Computer Communication

Professor Paul Curzon, of Queen Mary University of London, looks at the implications for software design of the magician’s craft.

A busy nurse sets up the infusion pump at the patient’s bedside, typing in the dose of 100.1 then hitting infuse to set it pumping the drug into their arm. As he does so the alarm on the next patient’s bed beeps again. She has rolled over and blocked the line again, momentarily stopping the drug flowing on her pump. The problem has already gone but the nurse must go and switch the alarm off. Hospitals are full of computers like these, monitoring patients, delivering controlled doses of drugs, keeping people alive. There is a problem though. They could also be helping kill patients, and even though people make the mistakes, it is a problem that computer scientists need to solve.

To understand the problem we can actually take a lesson from a magician’s book of tricks. Magician’s have a deep understanding of, and manipulate, human psychology. Their job is to make everyone make the same mistake at the same time – to miss something critical. One of the ways they do that is to subtly direct everyone’s attention away from that critical thing: misdirection. An assistant pops a balloon perhaps and while everyone is looking at the bang, the magician slips a card from her pocket. She engineered the ‘system’ so that everyone would make the same mistake at the same time, their attention drawn away. The fact that magic shows work so well demonstrates how effective this engineering is.

Magicians demonstrate that some kinds of human mistake are not down to stupidity or negligence but about how our brains are wired. Computer Scientists have to understand this too but instead engineer systems so no one makes mistakes – especially in critical situations like a hospital. The machines need to help not hinder.

 It's all about distraction...

It's all about distraction...

Let’s return to our busy nurse. That pump he set infusing has a poorly designed interface. With that make, for doses above 100mg fractions of doses are no longer allowed. 99.9 is fine but 100.1 isn’t. It therefore silently ignored the decimal point. It also then just accepted the following 1 as just another digit. It turned the number into 1001 (again silently). Some medical devices really really do this. A 10 times overdose was given. The pump did nothing to help the nurse notice the problem. Meanwhile the other pump dragged his attention away by alarming. Between them they performed the same trick as the magician. Whoever designed them designed like a magician would instead of like a safety-critical systems engineer should.

The pump did the job it was specified to do perfectly, but it still got it wrong. It shouldn’t have silently ignored the things the nurse entered. It should have dragged his attention to the screen and pointed out the problem. It shouldn’t have accepted the extra 1 at all, perhaps, and it certainly shouldn’t have let the infusion start until the nurse had checked it was what was intended. It should have helped, not just silently let the nurse get it wrong.

Digital communication is not just about computers communicating with each other but also about how they communicate with people. Well-designed computer systems need to help their users avoid mistakes and recover quickly when things do go wrong, if they are to be both usable and safe. This area of computing, human-computer interaction, is vital. Computer scientists solve problems for people. That means computational thinking, the problem solving skill set of the computer scientist, must include an understanding of the way people behave, and how to design to avoid human error. Computational thinking is about understanding people too!

For magic classroom activities linked to this article and other resources to bring learning to life, visit www.teachinglondoncomputing.org. For more on the design of safer medical devices visit www.cs4fn.org/chi-med/.

About Paul Curzon

 Paul Curzon

Paul Curzon

Prof. Paul Curzon runs cs4fn Computer Science for Fun through which he has been enthusing school students about interdisciplinary computer science worldwide for over 10 years. He now jointly leads Teaching London Computing , developing inspiring activities for computing teachers to use in class. He is a UK National Teaching Fellow in recognition of his excellence in teaching and outreach. He also leads research in the area of human computer interaction and verification focussing on making medical devices safer through the EPSRC funded CHI+MED project.

This article first appeared in Digital Education, the free newsletter for those with a professional interest in educational ICT and Computing. To sign up, please complete the short form on our newsletter page. We use a double opt-in system, and you won’t get spammed.

“Some useful ideas, perspectives and resources for teaching Computer Science and ICT. Written in an unassuming and humorous way with genuine insight and passion. — Dave Gair, Teacher.

Sign up via the button below, and get the articles as soon as they are published!