Programming, Math, Science
This is a list of links to different freely available learning resources about computer programming, math, and science.
Table of contents
- AI
- Algorithms
- Art
- Biology
- Command Line and Tools
- Compilers and Interpreters
- Computer Graphics
- Computer Networks and Network Programming
- Cryptography
- Data Science
- Debuggers
- Databases
- Design Patterns
- Distributed Systems
- Electronics
- Emulators and Virtual Machines
- Fluids Simultion
- Game Programming
- Geographic Information Systems
- GUI Programming
- Hardware
- Logical Games
- Low Level Stuff
- Math
- Multithreading and Concurrency
- Operating Systems
- Photography
- Physics
- Programming Languages
- Retrocomputing
- Reverse engineering
- Robotics
- SIMD programming
- Text editors
- Unicode
- Version control tools
- Web programming
- Other
- Other lists
AI
Machine Learning
-
A Course in Machine Learning by Hal Daumé III
-
A Visual Guide to Quantization: Demystifying the Compression of Large Language Models by Maarten Grootendorst
-
Alice’s Adventures in a differentiable wonderland by Simone Scardapane
-
An Introduction to Statistical Learning by Gareth James, Daniela Witten, Trevor Hastie, Rob Tibshirani
-
Applied Machine Learning for Tabular Data by Max Kuhn and Kjell Johnson
-
Crash Course in Deep Learning (for Computer Graphics) by Jakub Boksansky [alternative link]
-
Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control by Steven L. Brunton and J. Nathan Kutz [pdf]
-
Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville
-
Deep Learning Course by François Fleuret
-
Deep Learning: Foundations and Concepts by Chris Bishop with Hugh Bishop
-
Deep Learning Interviews by Shlomo Kashani and Amir Ivry
-
Information Theory, Inference, and Learning Algorithms by David MacKay
-
Introduction to ggml by Xuan Son NGUYEN, Georgi Gerganov and slaren
-
Introduction to Machine Learning Interviews by Chip Huyen
-
Learning Theory from First Principles by Francis Bach [pdf]
-
Machine Learning Engineering Book by Andriy Burkov
-
Machine Learning Engineering Open Book by Stas Bekman
-
Mathematical Introduction to Deep Learning: Methods, Implementations, and Theory by Arnulf Jentzen, Benno Kuckuck, Philippe von Wurstemberger
-
Mathematics for Machine Learning by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong
-
Neural Networks: Zero to Hero - A course by Andrej Karpathy
-
Neural Networks and Deep Learning by Michael Nielsen
-
Physics-based Deep Learning by N. Thuerey, P. Holl, M. Mueller, P. Schnell, F. Trost, K. Um
-
Probabilistic Machine Learning: An Introduction by Kevin Patrick Murphy
-
Probabilistic Machine Learning: Advanced Topics by Kevin Patrick Murphy
-
Speech and Language Processing, 3rd edition by Daniel Jurafsky and James H. Martin
-
The Elements of Differentiable Programming by Mathieu Blondel and Vincent Roulet
-
The Engineer's Guide To Deep Learning by Hironobu Suzuki
-
The Hundred Page Machine Learning Book by Andriy Burkov
-
The Little Book of Deep Learning by François Fleuret
-
Understanding Deep Learning by Simon J.D. Prince
Computer Games AI
-
Game AI Pro by Steve Rabin
-
Programming Starcraft AI by Peter Kis
Algorithms
-
Algorithms by Jeff Erickson
-
Algorithms and Data Structures by Kurt Mehlhorn and Peter Sanders [pdf]
-
Algorithms for Decision Making by Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray
-
Algorithms for Optimization by Mykel J. Kochenderfer and Tim A. Wheeler
-
Algorithms for Modern Hardware by Sergey Slotin
-
Clever Algorithms: Nature-Inspired Programming Recipes by Jason Brownlee
-
Collision Detection by Jeff Thompson
-
Competitive Programmer's Handbook by Antti Laaksonen
-
Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines by Manos Athanassoulis , Stratos Idreos and Dennis Shasha [pdf]
-
Exact String Matching Algorithms by Christian Charras and Thierry Lecroq
-
Foundations of Data Science by Avrim Blum, John Hopcroft, and Ravindran Kannan [pdf]
-
How does B-tree make your queries fast? by Mateusz Kuźmik
-
Introduction to Algorithms: A Creative Approach by Udi Manber [pdf]
-
Kalman Filter from the Ground Up by Alex Becker
-
Monte-Carlo Graph Search from First Principles by David J Wu
-
Planning Algorithms by Steven M. LaValle
-
Principles of Algorithmic Problem Solving by Johan Sannemo
-
Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum
-
Purely Functional Data Structures by Chris Okasaki [pdf]
-
Sequential and Parallel Data Structures and Algorithms: The Basic Toolbox by Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, and Roman Dementiev
Art
- Pixel art articles and tutorials by Pedro Medeiros
Biology
-
The Algorithmic Beauty of Plants by Przemyslaw Prusinkiewicz and Aristid Lindenmayer [pdf]
Command Line and Tools
-
Driving Compilers by Fabien Sanglard
-
Getting started with tmux by ittavern
-
How I'm still not using GUIs: A guide to the terminal by Lucas Fernandes da Costa
-
How is a binary executable organized? Let's explore it! by Julia Evans
-
Learn Makefiles: With the tastiest examples by Chase Lambert
-
NixOS & Flakes Book - An unofficial book for beginners by Ryan Yin
-
Use Midnight Commander like a pro by Igor Klimer
Curl
-
Curl Exercises by Julia Evans
-
Mastering curl: interactive text guide by Anton Zhiyanov
Linux command line
-
Effective Shell by Dave Kerr
-
Linux command line for you and me by Kushal Das
-
The Linux Command Handbook by Flavio Copes
-
The Linux Command Line by William Shotts
Compilers and Interpreters
-
Build Your Own Lisp by Daniel Holden
-
Building the fastest Lua interpreter.. automatically! by Haoran Xu
-
Crafting Interpreters by Robert Nystrom
-
Creating the Bolt Compiler by Mukul Rathi
-
Essentials of Compilation: An Incremental Approach by Geremy G. Siek
-
How Clang Compiles a Function by John Regehr
-
How LLVM Optimizes a Function by John Regehr
-
Let's Build a Compiler by Jack Crenshaw
-
Let's make a Teeny Tiny compiler by Austin Z. Henley