A place to collect inspirational and accessible books about computer science. Please add the books you love best.
Created by Simon Peyton Jones
last edited Dec 19 2018 by Simon Peyton Jones
Please contribute mini-reviews to the book listing!
Hello Ruby: adventures in coding, by Linda Liukas. Linda is the author and illustrator of Hello Ruby, a series of children’s picture books about the whimsical world of computers, as well as the founder of Rails Girls, a global movement to teach young women programming in over 260 cities.
Once upon an algorithm, Martin Erwig, 2017. Erwig illustrates a series of concepts in computing with examples from daily life and familiar stories. Hansel and Gretel, for example, execute an algorithm to get home from the forest. The movie Groundhog Day illustrates the problem of unsolvability; Sherlock Holmes manipulates data structures when solving a crime; the magic in Harry Potter’s world is understood through types and abstraction; and Indiana Jones demonstrates the complexity of searching. Along the way, Erwig also discusses representations and different ways to organize data; “intractable” problems; language, syntax, and ambiguity; control structures, loops, and the halting problem; different forms of recursion; and rules for finding errors in algorithms.This engaging book explains computation accessibly and shows its relevance to daily life.
The Most Complex Machine, David Eck. A great book for A Level, supported by a wonderful website with lots of interactive labs, and java applets that can be downloaded for use in lessons. I use it for several areas - and particularly like Chapter 4 about theoretical computing.
Tools For Thought, Howard Rheingold. Written in 1985 and available online, an very readable, concise account of the development of computers, with some prescient predictions for the future (that is, the 1990’s). This is a history that focuses on ideas rather than dry facts. As the author says, “You can’t understand where mind-amplifying technology is going unless you understand where it came from.” Of particular interest for educationalists will be Chapter 11 ‘The Birth of the Fantasy Amplifier’, which charts the trajectory of Alan Kay (developer of Squeak, amongst many other things), and the influence of Papert and Minsky on his development.
Lauren Ipsum,Carlos Bueno, 2011. The blurb says “Lauren Ipsum is a children’s story about computer science. In 20 chapters she encounters dozens of ideas from timing attacks to algorithm design, the subtle power of names, and how to get a fair flip out of even the most unfair coin. Laurie is lost in Userland. She knows where she is, or where she’s going, but maybe not at the same time. The only way out is through Jargon-infested swamps, gates guarded by perfect logic, and the perils of breakfast time at the Philosopher’s Diner. With just her wits and the help of a lizard who thinks he’s a dinosaur, Laurie has to find her own way home.”. Reviews on Amazon are enthusiastic.
The new Turing omnibus: 66 excursions in computer science, by AK Dewdney, 2003. One reviews says “If there are any of you who think that the high end of computer science is another form of mathematics, then this book is for you. If you think that computer science is just programming then maybe you should take a look at this book as well. After reading this book you will have a good overview of the “science” of computer science.”. Another says “Dewdney is one of the most stimulating writers on applied thinking and computer science that I have had the pleasure to read. Where the standard CS textbooks are most stale, Dewdney is the most provocative. He illuminates the dark corners of abstract thought with practical puzzles and plain language. This book is written in small bite size chapters that grow in complexity around multiple ideas…The appeal to Dwedney and his book stems from the fact that everything he writes is game-like or puzzle-oriented.”
Computational fairy tales, by Jeremy Kubica, introduces dozens of aspects of computational design. Aimed at junior high and high school students, it gives an overview of these aspects, whetting the appetite to learn more. Using analogies from fairy tales, Mr. Kubica inspires readers to take in each concept and then extend their learning on their own. The book gives a starting point for kids to learn more about the parts that interest them. Available here. Chris Leach wrote a unit of work for Year 6 based on it.
Best Practices of Spell Design, by Jeremy Kubica. A book set in the same world as Computational Fairy Tales and the story is every bit as good as the first book. Focussing this time on good programming practices - commenting, functions, … - the book introduces the ideas in the familiar fairytale style. Available as an ebook.
Nine algorithms that changed the world does just what it says on the tin.
Logic, an introduction to elementary logic by Wilfred Hodges. Another title that doesn’t need further explanation! Fantastic introduction to classical logic, suitable for post-16 and advanced KS4.
Hackers by Stephen Levy This is a very enjoyable book. I found it inspirational and learned a lot about the development of the home computer (amongst other things).
Mindstorms by Seymour Papert I have just started reading this and it is excellent. The designer of Logo on changing how computers are used in Education.
In Pursuit of the Traveling Salesman by William Cook. A great new book with accessible mathematics telling the story of the TSP and introducing a whole lot of computability theory along the way.
Rebel Code by Glyn Moody. If you are interested in GNU and Linux, this book is fantastic. Tells the story of Open Source in a very readable way.
Alan Turing: The Enigma by Andrew Hodges This is a great biography. A fascinating insight into the early history of computing.
Godel, Escher, Bach by Douglas Hoftstadter This book is absolutely amazing. It’s not primarily a book about computers, but it is full of treasures. It’s got fantastic stuff on logic, for instance.
What the Dormouse Said by John Markoff I haven’t quite finished reading this yet, but so far it is excellent. It’s an in depth look at the early history of human-computer interfaces, amongst other things.
Algorithms Unplugged, ed Vocking, 2011. “In this book we present some of the most beautiful algorithmic ideas in 41 articles written in colloquial, nontechnical language. Most of the articles arose out of an initiative among German-language universities to communicate the fascination of algorithms and computer science to high-school students. The book can be understood without any prior knowledge of algorithms and computing, and it will be an enlightening and fun read for students and interested adults.”
The Pattern on the Stone, Danny Hillis, 1999. This is a classic, lucid and concise, written by one of the guys who built the Tinkertoy computer.
Algorithmic Puzzles, Levitin & Levitin, 2011. Quite original, includes some of the most classic puzzles in Computer Science and contains special sections on problem-solving techniques.
The Singularity is Near, Ray Kurzweil, 2006. A pretty weighty tome, and fairly heavy going in some parts, but a fascinating read from a visionary thinker who speculates on what is coming and when, in terms of machine intelligence and human enhancement through technology. Great for older students (A Level) in particular.
Code: The Hidden Language of Computer Hardware and Software, Charles Petzold, 2000. Petzold’s epic journey from two ten-year old’s communicating by torches, through logic and switches, to microprocessors and operating systems. Or as Jeff Atwood describes it another love letter to the computer.
Bebop To The Boolean Boogie , Clive ‘Max’ Maxfield, several versions. Very readable, quirky style book that bridges the divide between the electronics and computational concepts involved in understanding the low level workings of a computer. Fairly high level but very accessible - will give a good grounding beyond that required to teach A level in these areas.
Bit by Bit: Illustrated History of Computers, Stan Augarten 1985 ISBN 0-04-001-0066. Now out of print but available second hand very cheaply. Fascinating account of development of computers from early mechanical calculators, through valves, relays and into microprocessors. Some absolutely brilliant photographs. Finishes at 1984 but so much background information about the machines, institutions and people involved. Handy chronology at the back. Very accessible, particularly to A-level students or to teachers that haven’t taught Computer Science before.
Hey, T (2014) The computing universe: a journey through a revolution. Cambridge: CUP An historical survey of computing, drawing out the foundations of computational thinking and the technologies along the way. Some great anecdotes, little known facts and lots of great pictures, written with authority and humour. Provides much of the missing subject knowledge hinterland for teachers and ideal for students to ‘read around’ the subject.
But How do it know Ever wondered exactly how a computer works right from the basics (i.e. from NAND gates etc) Including how does memory work etc. Provides that link between Boolean Logic and Computers on your desk.
Beecher, Karl (2014) Brown Dogs and Barbers Excellent, short, readable book that answers the question ‘What’s Computer Science all about?’ Ideal for teachers new to teaching Computing at, say, GCSE and my choice as the best introductory book for A Level students. Rarely is there a chapter over 5 pages long. Six sections, each with around 5-6 chapters.
The Programmer’s Odyssey How has computer programming as a career changed over the last 50 years? This no-holds-barred account tells the story.
Teaching Computing Unplugged in Primary Schools. Caldwell and Smith 2016 Computing is about more than computers. Important aspects of the fundamental principles and concepts of computer science can be taught without any hardware. Children can learn to analyse problems and computational terms and apply computational thinking to solve problems without turning on a computer.The unplugged approach is physical and collaborative, using kinaesthetic learning to help make computing concepts more meaningful and memorable.
Teaching with Tablets Caldwell and Bird 2015 This is an excellent book with simple practical ideas and founded in research. It is written for non-specialists and explains technical terms in an accessible, practical way. Each chapter begins with a case study contributed by a teacher using tablets in schools. Real life examples and comments like this give the text a truly practical focus. Check out the book’s Pinterest board which includes the apps mentioned in the book as well as a handy infographic for a snapshot guide on starting off your tablet teaching journey.