Introduction
CODE by Petzold
Intro to Programming
- Programming: Principles and Practice Using C++ by Stroustrup
- C++ Primer by Lippman, Lajoie, and Moo
- Data Structures and Algorithms in C++ by Drozdek
Unix and C
- Advanced Programming in the UNIX Environment by Stevens and Rago
- C++ Primer by Lippman, Lajoie, and Moo
- Data Structures and Algorithms in C++ by Drozdek
- Modern C
Computer Architecture and Operating Systems
- Digital Design: Principles and Practices by Wakerly
- Digital Design and Computer Architecture by David Harris and Sarah Harris
- Computer Organization and Design: The Hardware/Software Interface by Patterson & Hennessy
- Computer Systems: A Programmer's Perspective by Bryant & O'Hallaron
- Computer Architecture: A Quantitative Approach by Hennessy & Patterson
- Operating System Concepts by Silberschatz, Galvin, and Gagne
- Modern Operating Systems by Tanenbaum
Networking
Computer Networks: A Systems Approach by Peterson and Davie
Computer Networks by Tanenbaum
Data Networks
Security
- Introduction to Modern Cryptography by Katz and Lindell
- Cryptography Engineering: Design Principles and Practical Applications by Niels Ferguson, Bruce Schneier, Tadayoshi Kohno
- An Introduction to Mathematical Cryptography by Hoffstein, Pipher, and Silverman