https://github.com/bobeff/programming-math-science Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Issues - + Integrations - + GitHub Sponsors - + Customer stories- * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Education - [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} bobeff / programming-math-science * Notifications * Star 162 * Fork 5 This is a list of links to different freely available learning resources about computer programming, math, and science. CC0-1.0 License 162 stars 5 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 0 tags Code * Clone HTTPS GitHub CLI [https://github.com/b] Use Git or checkout with SVN using the web URL. [gh repo clone bobeff] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @bobeff bobeff Fix the lexicographic ordering of some titles ... a7c7483 Aug 29, 2021 Fix the lexicographic ordering of some titles a7c7483 Git stats * 7 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time CONTRIBUTING.md Add an additional contribution guideline Aug 29, 2021 LICENSE Initial commit Aug 27, 2021 README.md Fix the lexicographic ordering of some titles Aug 29, 2021 View code [ ] Programming, Math, Science Table of contents AI General AI Machine Learning Computer Games AI Algorithms Command line and tools Compilers and Interpreters Computer Graphics Computer Networks and Network Programming Cryptography Databases Design Patterns Game Programming GUI Programming Hardware Math Multithreading and Concurrency Operating Systems Physics Programming languages Assembly C C++ Clojure Common Lisp Erlang Go Haskell Pascal Pyret Python Racket Regular expressions Rust Scheme Retrocomputing Reverse engineering Robotics Text editors Version control tools Virtual machines Web programming Other README.md 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 + General AI + Machine Learning + Computer Games AI * Algorithms * Command Line and Tools * Compilers and Interpreters * Computer Graphics * Computer Networks and Network Programming * Cryptography * Databases * Design Patterns * Game Programming * GUI Programming * Hardware * Math * Multithreading and Concurrency * Operating Systems * Physics * Programming Languages + Assembly + C + C++ + Clojure + Common Lisp + Erlang + Go + Haskell + Pascal + Pyret + Python + Racket + Regular expressions + Rust + Scheme * Retrocomputing * Reverse engineering * Robotics * Text editors * Version control tools * Virtual machines * Web programming * Other AI General AI * Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig Machine Learning * A Course in Machine Learning by Hal Daume III * Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville * Machine Learning Engineering Book by Andriy Burkov * Mathematics for Machine Learning by Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong * The Hundred Page Machine Learning Book by Andriy Burkov Computer Games AI * Game AI Pro by Steve Rabin * Programming Starcraft AI by Peter Kis Algorithms * Algorithms by Jeff Erickson * Competitive Programming Algorithms * Exact String Matching Algorithms by Christian Charras and Thierry Lecroq * Principles of Algorithmic Problem Solving by Johan Sannemo * Problem Solving with Algorithms and Data Structures using Python by Brad Miller and David Ranum Command line and tools * Curl Cookbook * Curl Exercises by Julia Evans * How I'm still not using GUIs: A guide to the terminal by Lucas Fernandes da Costa * The Linux Command Handbook by Flavio Copes Compilers and Interpreters * Build Your Own Lisp by Daniel Holden * Crafting Interpreters by Robert Nystrom * Creating the Bolt Compiler by Mukul Rathi * 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 Write a Compiler by Brian Robert Callahan + Part 1: Introduction, selecting a language, and doing some planning + Part 2: A lexer + Part 3: A parser + Part 4: Testing + Part 5: A code generator + Part 6: Input and output + Part 7: Arrays + Part 8: Strings, forward references, and conclusion * Make A Language - A series about making a programming language called Eldiro using the Rust programming language. Computer Graphics * 3D Game Shaders For Beginners * A Primer on Bezier Curves * Computer Graphics from Scratch by Gabriel Gambetta * GPU Performance for Game Artists by Keith O'Conor * I Am Graphics And So Can You - a series of blog posts about implementing a Vulkan renderer for Doom 3 by Dustin H. Land * Learn Computer Graphics From Scratch * Learn OpenGL by Joey de Vries * NVIDIA Vulkan Ray Tracing Tutorials * Probability Theory for Physically Based Rendering by Jacco Bikker + Part 1 + Part 2 * Ray Tracing Gems by Eric Haines and Tomas Akenine-Moller * Ray Tracing Gems II by Adam Marrs, Peter Shirley, and Ingo Wald * Ray Tracing in One Weekend: The Book Series by Peter Shirley * The Book of Shaders by Patricio Gonzalez Vivo and Jen Lowe * Vulkan Guide * Vulkan Raytracing Tutorials * Vulkan Tutorial by Alexander Overvoorde * WebGL2 Fundamentals Computer Networks and Network Programming * An Introduction to Computer Networks by Peter L. Dordal * Computer Networks: A Systems Approach by Larry Peterson and Bruce Davie * Computer Network Tutorials * HTTP2 Explained by Daniel Stenberg * HTTP/3 explained by Daniel Stenberg Cryptography * Practical Cryptography for Developers by Svetlin Nakov Databases * The Theory of Relational Databases by David Maier Design Patterns * Data-Oriented Design by Richard Fabian * Design Patterns & Refactoring SourceMaking * From design patterns to category theory by Mark Seemann * Game Programming Patterns by Robert Nystrom * The Architecture of Open Source Applications Game Programming * Reverse engineering the rendering of The Witcher 3 * Scroll Back: The Theory and Practice of Cameras in Side-Scrollers by Itay Keren GUI Programming * A Book about Qt5 * Sol on Immediate Mode GUIs Hardware * Modern Microprocessors: A 90-Minute Guide! by Jason Robert Carey Patterson * Processor Design: An Introduction Math * A Gentle Introduction to Tensors by Boaz Porat * Algebra: An Elementary Text-Book by George Chrystal * Approved Textbooks of the American Institute of Mathematics * Book of Proof, Third Edition by Richard Hammack * Books by Dr. Kenneth Kuttler * Calculus Made Easy by Silvanus P. Thompson * Category Theory for Programmers by Bartosz Milewski * Euclid's Elements * Immersive Linear Algebra by J. Strom, K. Astrom, and T. Akenine-Moller * Interactive Linear Algebra by Dan Margalit and Joseph Rabinoff * Introduction to Theoretical Computer Science by Boaz Barak * Seeing Theory - a book about statistics with interactive visualizations by Daniel Kunin, Jingru Guo, Tyler Dae Devlin, and Daniel Xiang Multithreading and Concurrency * POSIX Threads Programming by Blaise Barney Operating Systems * Making our own executable packer by Amos * Systems Programming: Lecture Notes by Jian Huang * The Linux Documentation Project * Writing an OS in Rust by Philipp Oppermann Physics * A free introduction to quantum computing and quantum mechanics by Andy Matuschak and Michael Nielsen * Structure and Interpretation of Classical Mechanics, Second Edition by Gerald Jay Sussman and Jack Wisdom * The Feynman Lectures on Physics Programming languages Assembly * Let's Learn x86-64 Assembly! + Part 0 - Setup and First Steps + Part 1 - Metaprogramming in Flat Assembler + Part 2 - We're Writing a Virtual Machine + Part 3 - Arithmetic and Logic * NASM Tutorial C * Coroutines in C by Simon Tatham * How Does a C Debugger Work? * Unicode programming, with examples by Joe Nelson C++ * Awesome Modern C++ * C++20 Coroutines: sketching a minimal async framework by Jeremy Ong * C++20 Concepts: The Definitive Guide by Rajat Jain * C++ exceptions under the hood by Nicolas Brailovsky * Microsoft C++ language documentation * Performance Analysis and Tunning on Modern CPUs by Denis Bakhvalov Clojure * Clojure Concurrency Tutorial by Eric Normand * Clojure for the Brave and True by Daniel Higginbotham Common Lisp * Practical Common Lisp by Peter Seibel Erlang * Learn You Some Erlang for great good! by Fred Hebert Go * Practical Go Lessons by Maximilien Andile Haskell * Learn You a Haskell for Great Good! by Miran Lipovaca * Monday Morning Haskell * Real World Haskell by Bryan O'Sullivan, Don Stewart, and John Goerzen Pascal * Modern Object Pascal Introduction for Programmers by Michalis Kamburelis Pyret * Programming and Programming Languages Python * Automate the Boring Stuff with Python by Al Sweigart * Composing Programs by John DeNero * Learn Python the Right Way Racket * How to Design Programs, Second Edition by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi Regular expressions * RegexOne * Regular-Expressions.info by Jan Goyvaerts * Rex Eats Regular Expressions for Breakfast Rust * A Gentle Introduction to Rust by Steve Donovan * Exploring ways to make async Rust easier by Carl Lerche * Rust Language Cheat Sheet * Things you can't do in Rust (and what to do instead) Scheme * Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman with Julie Sussman Retrocomputing * How to Write ZX Spectrum Games by Jonathan Cauldwell * First Steps in Z80 Assembly Language by Darryl Sloan * Learn Multiplatform Assembly Programming by ChibiAkumas * The Lost Ways of Programming: Commodore 64 BASIC by Tomas Petricek * Z80 User's Manual Reverse engineering * Reverse Engineering for Beginners by Dennis Yurichev * Reversing for dummies - x86 assembly and C code by Sami Alaoui * Linux Reverse Engineering CTFs for Beginners Robotics * Modern Robotics: Mechanics, Planning, and Control by Kevin M. Lynch and Frank C. Park * Underactuated Robotics by Russ Tedrake Text editors * Build Your Own Text Editor * Learn Vim (the Smart Way) by Igor Irianto * The Vi/Ex Editor by Walter Alan Zintz Version control tools * Git from the Bottom Up by John Wiegley Virtual machines * Write your Own Virtual Machine Web programming * Intro to Web Dev * FastCGI -- The Forgotten Treasure by Peter Simons and Ralph Babel Other * Beej's Guides * Build Your Own X * Computer Science from the Bottom Up by Ian Wienand * How These Things Work - a book about abstraction * Memory Management Reference * Project Based Learning * Teach Yourself Computer Science * The Nature of Code a book about how can we capture the unpredictable evolutionary and emergent properties of nature in software by Daniel Shiffman * The Scientist and Engineer's Guide to Digital Signal Processing by Steven W. Smith, Ph.D. About This is a list of links to different freely available learning resources about computer programming, math, and science. Resources Readme License CC0-1.0 License Releases No releases published Packages 0 No packages published * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.