(This site contains a list of free textbook links along with links to accompanying material (slides/videos).

The authors have publicly released this material and put up links on their official websites. If there

is any copyright violation, please mail me immediately. The link will be taken down in nanoseconds.
)

The website is maintained by Prof. Smruti R. Sarangi, CSE, IIT Delhi

**Algorithms** **and Theoretical CS**

Design and Analysis of Algorithms: A Contemporary Perspective, Sandeep Sen and Amit Kumar (textbook)

Algorithmis, Jeff Erickson, (textbook, notes, supplementary material)

The Design of Approximation Algorithms, David P. Williamson and David B. Shmoys (textbook)

Aspects of Convex Geometry Polyhedra, Linear Programming, Shellings, Voronoi Diagrams and Delaunay Triangulations, Jean Gallier and Jocelyn Quaintance (textbook)

Computational Complexity (for Algorithm Designers), Tim Roughgarden (Arxiv link)

Algorithmic Game Theory, Tim Roughgarden (look under the Resources tab, link)

Graph Theory and Complex Networks, Maarten Van Steen (link to get a digital copy)

**Basic Computer Science **

Foundations of Computer Science, Al Aho and Jeff Ulman (textbook)

Structure and Interpretation of Computer Programs, Harold Abelson, Gerald Jay Sussman, Julie Sussman (CC license, textbook)

Mathematical Foundations and Aspects of Discrete Mathematics, Jean Gallier and Jocelyn Quaintance (textbook)

Think Python, Allen B. Downey, (textbook, example code)

Invent with Python, Al Sweigart (numerous books on Python, free versions available on the site)

Elements of Data Science (in Python), Allen B. Downey (link)

Open Data Structures, Pat Morin (textbooks in different languages: pseudocode, C++, Java, etc.)

Problem Solving with Algorithms and Data Structures using Python (textbook, CC-NC-SA 4.0license)

Mathematics for Computer Science, Eric Lehman, F Thomson Leighton, Albert R Meyer (textbook)

CS Principles: Big Ideas in Programming, Mark Guzdial and Barbara Ericson (license page), (online textbook)

Computer Science from the Bottom Up, Ian Wienand (link)

** Computer Architecture and Embedded Systems: **

Basic Computer Architecture, Smruti R. Sarangi (slides, videos, textbook)

Advanced Computer Architecture, Smruti R. Sarangi (slides, videos, textbook)

Introduction to Embedded Systems: A Cyber-Physical Systems Approach, Edward Ashford Lee and Sanjit Seshia (textbook homepage link)

**Computer Vision and Graphics**

Computer Vision: Algorithmis and Applications, Richard Szeliski (textbook)

Computer Vision: Models, Learning, and Inference, Simon J. D. Prince (textbook draft, slides, figures)

**Cryptography and Security **

Introduction to Modern Cryptography, Mihir Bellare and Phillip Rogaway (class notes (like a textbook))

The Joy of Cyrptography, Mike Rosulek (site, textbook)

A Graduate Course in Applied Cryptography, Dan Boneh and Victor Shoup (textbook site)

Security Engineering, Ross Anderson, 2nd ed., ( textbook site )

A Computational Introduction to Number Theory and Algebra, Victor Shoup (textbook site)

**Databases, Data Science and Information Retrieval**

Foundations of Data Science, Avrim Blum, John Hopcroft and Ravi Kannan (textbook)

Database Design (2nd Ed.), Adrienne Watt, Nelson Eng, [CC4.0 license] (textbook site)

Introduction to Information Retrieval, Christopher D. Manning, Prabhakar Raghavan, Hinrich Schutze (textbook site)

**Distributed Systems**

Distributed Systems for Fun and Profit, Mikito Takada (basic introduction to the field: 5 online chapters)

Distributed Systems, Maarten Van Steen and Andrew S. Tanenbaum (link to get a digital copy for free, PDF/PPTX slides, code)

**Formal Methods**

Proofs, Computability, Undecidability, Complexity, And the Lambda Calculus An Introduction, Jean Gallier and Jocelyn Quaintance (textbook)

**Machine Learning**

Deep Learning, Ian Goodfellow, Yoshua Bengio and Aaron Courville (textbook, slides, chapterwise PDFs)

Understanding Deep Learning, Simon J. D. Prince (textbook, slides, collab notebooks)

Dive into Deep Learning, Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola (textbook in HTML, code)

Machine Learning Systems, Vijay Janapa Reddy (textbook)

Probabilistic Machine Learning, Kevin P. Murphy (link to book series)

**Mathematical Fundamentals of Computer Science and Data Science**

The Matrix Calculus you Need for Deep Learning, Terence Parr, Jeremy Howard (Arxiv note)

The Modern Mathematics of Deep Learning, Julius Berner, Philipp Grohs, Gitta Kutyniok, Philipp Petersen (textbook hosted on Arxiv)

Algebra, Topology, Differential Calculus, and Optimization Theory for Computer Science and Machine Learning, Jean Gallier and Jocelyn Quaintance**, **(textbook)

Entropy and Information Theory, Robert M. Gray [1st ed, corected] (textbook site)

Mathematics for Machine Learning, Marc Peter Deisenroth, A. Aldo Faisal and Cheng Soon Ong, (textbook)

Information Theory: From Coding to Learning, Yury Polyanskiy (textbook pre-publication version)

**Networks**

Computer Networks: A Systems Approach, Larry Peterson and Bruce Davie (textbook)

Computer and Network Organization: An Introduction, Maarten Van Steen and Henk Sips (link to get a digital copy)

**Operating Systems**

Operating Systems: A Linux-Kernel Oriented Perspective, Smruti R. Sarangi, (slides, textbook (mostly done)):

Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (textbook)

**Probability**

Probability, Random Processes and Ergodic Properties, Robert M. Gray, [2010 edition] (link)

High-Dimensional Probability, Roman Vershynin (textbook draft)

Introduction to Probability for Data Science, Stanley H. Chan (textbook site)

Markov Chains and Mixing Times, David A. Levin, Yuval Peres (textbook)

Reversible Markov Chains and Random Walks on Graphs, Aldous Fill (monograph)

Probability on Trees and Networks, Russell Lyons and Yuval Peres (textbook)

Modern Discrete Probability: An Essential Toolkit, Sebastien Roch (lecture notes)

Random Graphs and Complex Networks - I and II, Remco van der Hofstand (website)

Probability on Graphs, Geoffrey Grimmett (website)

Random Graph Dynamics, Rick Durrett (website)