Computing at School: rethinking how computing is taught
Birmingham University in the United Kingdom is in the green and leafy suburb of Edgbaston—and opposite King Edward’s School, which I attended for seven years as a boy. I was back in Birmingham recently to give the keynote address at the sixth annual Computing at School conference, an event designed for schoolteachers. And so on a sunny June Saturday, I stood before some 300 educators who had given up their weekend to prepare for a revolution: a major transformation in teaching computing that is scheduled to begin this September.
The UK government has taken the advice of a group of computer scientists and teachers and decreed that computer science will now be taught with the same priority as the other sciences: physics, chemistry, and biology. Simon Peyton-Jones of Microsoft Research Cambridge has been one of the key leaders of this change, and he helped build Computing at School (CAS), the vibrant, grassroots organization that is taking on this challenge. Instead of a computing course under the banner ICT (information communication technology), which taught digital literacy—how to use word processors, manipulate spreadsheets, create presentations, and write programs—the new syllabus will teach the fundamentals of computing as a science. Moreover, beginning this fall, this new approach will be implanted at state-funded primary and secondary schools throughout the United Kingdom, exposing all their students to computer science.
Simon’s groundbreaking work in this area—his co-founding of CAS and his effective advocacy on behalf of teaching computer science in British schools—is well documented. Without his leadership in this area, it is doubtful that this educational transformation would have occurred. And make no mistake: this change in approach is essential to preparing students for tomorrow’s jobs and their role as informed citizens in an increasingly digital world.
It can be summarized as a move towards teaching “computational thinking,” and this theme was evident throughout the conference. Computational thinking has been defined by my colleague Jeannette Wing at Microsoft Research in Redmond as the ability to use the fundamental concepts of computer science to solve difficult problems, design complex systems, and understand human behavior. Computational thinking includes the techniques of abstraction and decomposition that assist in the development of algorithms to attack complex tasks or to design complex systems. It also gives new insights on system concepts, such as prevention, protection, and recovery, by thinking in terms of corresponding computer science concepts, such as redundancy, damage containment, and error correction. Jeannette believes that education in computational thinking will be as essential in the twenty-first century as learning the “three Rs” has been in all previous centuries.
My keynote discussed the origins of computer science and computational thinking, beginning with the insights of Alan Turing (after whom the prestigious A.M. Turing Award was named) and John von Neumann (after whom the John von Neumann Medal was named), through the invention of the integrated circuit and the microprocessor, to the development of the World Wide Web, machine learning, and artificial intelligence.
Above all, I tried to convey that the essence of computer science is the management of complexity—how computational thinking makes it possible to manufacture and program microprocessors containing more than a billion transistors. My keynote also provided me with the opportunity, and stimulus, to create a talk based on material in my new book, The Computing Universe: A Journey through a Revolution, a general introduction to computer science that will be published by Cambridge University Press this fall.
—Tony Hey, Vice President, Microsoft Research