APCS Principles Bookshelf

I have been getting a lot of questions about books for the APCS Principles class. Here's the list I send out:



One of the things I get asked most often about the pilot is "What textbook are you using?" In reality limiting the course to one book isn't possible. Part of the whole point of the curriculum is broadening the focus beyond just teaching coding.

Also, computer science is by its very nature is not static. Having a great set of reference books to work from has been essential this past year.


These three were my main resources. My basoc thinking was if it showed up in all three and related to something in the Curiculum Framework then I needed to include it in the course.
  • Computer Science: An Overview by J. Glenn Brookshear
    • This book did a good job of covering the basics, plus it covered some other areas like artificial intelligence and computer graphics.
  • Computer Science Illuminated by Nell Dale and John Lewis
    • This one takes a layered approach starting with the information layer of how data is stored and processed and then moved up through applications. Each chapter had a good set of thought questions, beyond just simple vocabulary and multiple choice, that related to the topics covered.
  • Explorations In Computer Science by Mark Meyer
    • This books takes a laboratory approach with a series of hands on applets. Great for brainstorming how to approach a topic.
Some other books I used. If you haven't guessed I am a huge reader, so this is just the tip of the iceberg.
  • Introduction to Computational Science by Angela B. Shiflet and George W. Shiflet-
    • This book was new to me this year. One of the hardest areas to teach with the CS Principles course was Large Datasets. While the book is over the head of your average high school student, it is a fabulous resource for teachers. It is all about how computers are used in modeling and simulation and has an entire module on errors in modeling. Each topic covered has several case studies that range from Drug Dosage to Skydiving to Mushroom Fairy Rings. Great examples to pull from.
  •  Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
    • This covers the first steps of representing data as a code - like Morse code all the way through graphics. It is clear and easy to follow with fun examples. It is a it a level high school students could follow most of it, although some passages get a little more mathy than most students are comfortable with. This is one of the books I came back to again and again.
  • The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography by Simon Singh
    • This is one of my all time favorites. His website also has lots of great interactive tools for teaching on this topic. I have used the digital version in class for several years. I also have developed a set of  hands-on cryptography activities whenever the network is down at school-like Caesar sticks and Morse code.  Understanding some of the history of how humans used encryption to send messages makes the abstraction of computer science easier to understand