<TLP/>
Think Like Programmer
A free library for people who love to build with code. Explore programming books, computer science resources, and developer knowledge — freely available from a growing open library.
Popular Topics
View all →Featured Books
View all →
Algorithms
Jeff Erickson
A rigorous algorithms textbook built from the author's courses at the University of Illinois. Covers recursion, dynamic programming, greedy algorithms, graphs, NP-hardness, and more, emphasizing intuition and the problem-solving process alongside formal proofs.
AlgorithmsAdvancedCreative CommonsPDF · 24 MB
Dive into Deep Learning
Aston Zhang, Zachary C. Lipton, Mu Li, Alexander J. Smola
An interactive deep learning textbook combining explanations, mathematics, and runnable code (PyTorch, NumPy, JAX, and TensorFlow). Covers linear and softmax regression, MLPs, CNNs, RNNs, attention and transformers, and more. Adopted at 500+ universities.
Deep LearningAdvancedCreative CommonsPDF · 43 MB
Eloquent JavaScript
Marijn Haverbeke
A book about JavaScript, programming, and the wonders of the digital. It dives into the language in detail, teaching programming fundamentals alongside browser APIs and Node.js, with exercises and project chapters.
JavaScriptIntermediateCreative CommonsPDF
Fundamentals of Computer Programming with C#
Svetlin Nakov, Veselin Kolev, Nakov's Team
A large, thorough introduction to programming using C#. Covers the language and .NET from first principles, then data structures, algorithms, recursion, OOP, exception handling, and writing high-quality code, with hundreds of worked examples and exercises.
C#All LevelsCreative CommonsPDF · 11.6 MB
The Linux Command Line
William E. Shotts, Jr.
A thorough guide to the Linux command line: navigation, file manipulation, permissions, package management, I/O redirection, and shell scripting, from first commands through writing real scripts.
LinuxBeginnerCreative CommonsPDF
Open Data Structures (in C++)
Pat Morin
An open textbook covering the design and analysis of fundamental data structures — arrays, linked lists, hash tables, binary and balanced search trees, heaps, tries, and graphs — with full C++ implementations and mathematical analysis.
Data StructuresIntermediateCreative CommonsPDF · 1.5 MBOperating Systems: Three Easy Pieces
Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
A widely used operating systems textbook organized around three themes: virtualization (CPU and memory), concurrency (locks and condition variables), and persistence (disks, RAID, and file systems).
Operating SystemsAdvancedOfficial Free DistributionPDF
The Rook's Guide to C++
Jeremy A. Hansen
An introductory C++ textbook written by students and faculty at Norwich University. Covers variables, control structures, functions, arrays, pointers, classes, and file I/O, with exercises throughout.
C++BeginnerCreative CommonsPDF · 914 KBThe Rust Programming Language
Steve Klabnik, Carol Nichols
The official book on Rust: ownership and borrowing, structs and enums, error handling, generics and traits, concurrency, and building real projects — the standard starting point for learning the language.
RustBeginnerMITHTMLThe System Design Primer
Donne Martin
A community-maintained study guide for large-scale system design and the system design interview: scalability fundamentals, caching, load balancing, databases, messaging, and worked example architectures, with flashcards and further reading.
System DesignIntermediateCreative CommonsHTML