Don't forget the humans
When teaching computing, it’s tempting to focus on technology. The curriculum, which was heavily influenced by professional computer scientists and engineers, lists the ‘stuff’ that kids should know about. Data structures and representations, hardware and software, network topologies and protocols, loops, sequences and branching statements… the list goes on.
There’s a simple fact that shouldn’t be forgotten, and should instead be celebrated: digital systems are designed by humans to serve human needs. Technology doesn’t exist independently of people – it has no purpose other than to help solve our problems or to improve our lives.
Because humans inhabit the analogue world and computers are strictly digital, we’ve had to invent ingenious ways to allow them to interact. High-level programming languages may appear, to the novice, to be impenetrable ‘computer speak’ but are actually way closer to human language than that of machines. Graphical user interfaces (GUIs) present information through windows, icons, menus and pointers, creating a visual language that humans can work with; of course, every element and every interaction is merely binary data to the computer, which has no sense of the on-screen representation.
The field of human-computer interaction (HCI) covers a range of disciplines, of broad interest to many students. Not just computer science but also psychology, behavioural science, design, media studies… when students think more about how computers are used, they are forced to think about the humans using them. Rich discussion opportunities emerge: how might disabled people be assisted in accessing computing technology? Or young children, or older people? How can good design help users to make use of software in the most efficient ways? How can behaviour be influenced? Do students notice their behaviour being influenced in myriad ways, every time they use digital technology?
Students don’t need to wait until GCSE or A level project time to think about HCI. From the simplest Scratch programs through to object-oriented, GUI-based projects and beyond, they can be encouraged to think more about their users, and to learn from user testing and feedback – highly sociable activities. Back in 1996 Abelson & Sussman wrote: "Programs must be written for people to read, and only incidentally for machines to execute”. Developing this discipline helps students to understand and improve their own code, and makes it easier to share in collaborative projects.
The human aspects of computing lead directly to consideration of ethics, a strand of the curriculum which should weave through like a golden thread.
Technology usage impacts humans, in both positive and negative ways. Design choices, from the languages available for speech interaction, to the colour of buttons in a menu, to the dopamine-inducing interactions found in some software, all have the potential to enhance or diminish user experiences. They can change lives by stimulating creativity or encouraging addictive behaviours. Similar to controversial scientific projects, just because we can build something with digital technology doesn’t mean we should.
There is some evidence that a more human-centred approach to computing, with less focus on kit, is favoured by girls. Solving real problems, for real people, is highly motivating – and helps all young people to understand the fundamental importance of computing in the modern era. CPD with the National Centre for Computing Education supports you to make computing relevant to all your students, encouraging them to see further study as a rich and rewarding experience.
Find out more: explore the full course offer.
About the author:
Dave Gibbs is the Senior Subject Specialist for the National Centre for Computing Education.