Suggested reading

If you’d like to expand your knowledge of Computer Science, take a look at our reading suggestions. (Don’t worry, it’s not compulsory!)

  • Goodrich, Tamassia & Goldwasser: Data Structures and Algorithms in Python
  • Goodrich & Tamassia: Data Structures and Algorithms in Java
  • Dolley: Software Development and Professional Practice
  • Rosen: Discrete Mathematics and its Applications
  • Stallings: Computer Organization and Architecture, Global Edition
  • Patterson: Computer Organization and Design: The Hardware/Software Interface
  • Blackstaff: Finance for IT Decision Makers: A Practical Handbook
  • Laudon & Laudon: Management Information Systems: Managing the Digital Firm
  • Linz: An Introduction to Formal Languages and Automata
  • Lewis & Papadimitriou: Elements of the Theory of Computation
  • Hopcroft, Motwani & Ullman: Introduction to Automata Theory, Languages and Computation
  • Sipser: Introduction to Theory of Computation

Online reading

We also recommend these two resources, available from Runestone:

  • How to Think Like a Computer Scientist: Interactive Edition
  • CS Awesome: A Java Course