└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ## CS Books 2 | This is a collection of popular, highly recommended, highly influential academic and practical computer science books. Some of these books are outdated but still conceptually relevant. Suggestions are always welcome via E-mail. 3 | 4 | [Title - Author] 5 | 6 | ### Algorithms 7 | - Algorithms - Sedgewick 8 | - Introduction to Algorithms - Stein 9 | 10 | 11 | ### Artificial Intelligence and Machine Learning 12 | - Artificial Intelligence A Modern Approach - Russell 13 | - Introduction to Information Retrieval - Manning 14 | 15 | 16 | ### Compilers and Programming Languages 17 | - Compilers: Principles, Techniques, and Tools - Aho 18 | 19 | ### Computer Architecture 20 | - Computer Architecture: A Quantitative Approach - Hennessy and Patterson 21 | - Computer Organization And Design - Patterson 22 | - Digital Design - Mano 23 | 24 | 25 | ### Computer Graphics 26 | - Fundamentals of Computer Graphics - Marschner 27 | - OpenGL Programming Guide - Kessenich 28 | 29 | 30 | ### Computer Networking 31 | - Computer Networking: A Top Down Approach - Kurose and Ross 32 | - TCP IP Illustrated Volume 1: The Protocols - Stevens 33 | - TCP IP Illustrated Volume 2: The Implementation - Stevens 34 | - TCP IP Illustrated Volume 3: TCP for Transactions HTTP NNTP and the UNIX Domain Protocols - Stevens 35 | - TCP IP Network Administration - Craig Hunt 36 | 37 | 38 | ### Computer Science Theory and Related Mathematics 39 | - Concrete Mathematics: A Foundation for Computer Science - Graham 40 | - Discrete Mathematics Applications - Rosen 41 | - Introduction to Theory of Computation - Sipser 42 | - Godel's Proof - Nagel 43 | 44 | 45 | ### Computer Security 46 | - Hacker's Delight - Warren 47 | - Hacking: The Art of Exploitation - Erickson 48 | - Security Engineering - Anderson 49 | - The Art of Deception - Kevin Mitnick 50 | - The Art of Intrusion - Kevin Mitnick 51 | - The Art of Invisibility - Kevin Mitnick 52 | - The Craft of System Security - Smith 53 | 54 | 55 | ### Computer Security (Reverse Engineering) 56 | - IDA Pro Book - Chris Eagle 57 | - Malware Analyst's Cookbook - Ligh 58 | - Practical Malware Analysis - Sikorski 59 | 60 | 61 | ### Cryptography 62 | - Applied Cryptography - Bruce Schneier 63 | - Foundations of Cryptography Volume 1 - Goldreich 64 | - Foundations of Cryptography Volume 2 - Goldreich 65 | - Introduction to Cryptography with Coding Theory - Trappe 66 | - Introduction to Modern Cryptography - Katz 67 | 68 | 69 | ### Databases 70 | - Database Management Systems - Ramakrishnan 71 | 72 | 73 | ### Embedded Systems 74 | - Embedded Linux Primer: A Practical Real World Approach - Hallinan 75 | 76 | 77 | ### Operating Systems 78 | - Modern Operating Systems - Tanenbaum 79 | - Operating System Concepts - Silberschatz 80 | - Operating Systems: Principles and Design - Anderson 81 | - Operating Systems: Three Easy Pieces - Arpaci 82 | - Operating Systems Design and Implementation - Tanenbaum 83 | 84 | 85 | ### Parallel Programming & Distributed Systems 86 | - An Introduction to Parallel Programming - Pacheco 87 | - Distributed Computing Fundamentals Simulations and Advanced Topics - Attiya 88 | 89 | 90 | ### Programming 91 | - C: A Reference Manual - Steele 92 | - Code: The Hidden Language of Computer Hardware and Software - Charles Petzold 93 | - Code Complete A Practical Handbook of Software Construction - McConnell 94 | - Coders at Work Reflections on the Craft of Programming - Seibel 95 | - Cracking the Coding Interview - McDowell 96 | - Programming Interviews Exposed Coding Your Way Through the Interview - Mongan 97 | - Structure and Interpretation of Computer Programs - Abelson 98 | - The Art of Programming Volume 1 - Knuth 99 | - The Art of Programming Volume 2 - Knuth 100 | - The Art of Programming Volume 3 - Knuth 101 | - The Art of Programming Volume 4A - Knuth 102 | - The C Programming Language - K & R 103 | - The C Standard Library: A Tutorial and Reference - Josuttis 104 | - The C++ Programming Language - Stroustrup 105 | - The Pragmatic Programmer - Hunt 106 | 107 | 108 | ### Programming (Unix/Linux) 109 | - Advanced Programming in the UNIX Environment - Stevens 110 | - The Art of UNIX Programming - Eric S. Raymond 111 | - The Unix Programming Environment - Kernighan 112 | - Linux Device Drivers - Corbet, Alessandro 113 | - Linux In A Nutshell - Siever 114 | - Linux Kernel Development - Robert Love 115 | - Linux Pocket Guide - Barrett 116 | - Linux System Programming - Robert Love 117 | - Professional Linux Kernel Architecture - Mauerer 118 | - Understanding Linux Network Internals - Benvenuti 119 | - Understanding the Linux Kernel - Cesati 120 | 121 | 122 | ### Software Engineering 123 | - Design Patterns Elements of Reusable Object Oriented Software - Gang of Four 124 | - Essentials of Software Engineering - Tsui 125 | - Mythical Man Month: Essays on Software Engineering - Brooks 126 | - The Cathedral and The Bazaar - Eric S. Raymond 127 | 128 | 129 | ### Non-Computer Science Books Popular With Computer Scientists 130 | - Godel, Escher, Bach - Hofstadter 131 | - I Am A Strange Loop - Hofstadter 132 | --------------------------------------------------------------------------------