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