programming-math-science
This is a list of links to different freely available learning resources about computer programming, math, and science.
https://github.com/bobeff/programming-math-science
Last synced: 11 days ago
JSON representation
-
Algorithms
-
Vibe Coding and Spec-Driven Development
- Algorithms for Validation
- Algorithms Design (in C)
- Algorithms for Inference
- Algorithms for Massive Data
- Algorithms in C
- An Open Guide to Data Structures and Algorithms
- Approximation Algorithms
- Book of All-pairs Shortest Paths
- Clever Algorithms: Nature-Inspired Programming Recipes
- Data Structure Visualizations
- Data Structures & Algorithm Analysis
- Data Structures & Algorithms in C++, Second Edition
- Design and Analysis of Algorithms
- Exact String Matching Algorithms
- Introduction to Multi-Armed Bandits
- Kalman Filter from the Ground Up
- Lecture Notes on Quantum Algorithms
- Let's build a Full-Text Search engine
- Matters Computational: Ideas, Algorithms, Source Code
- Notes on Data Structures and Programming Techniques
- Notes on Randomized Algorithms
- The Skyline algorithm for packing 2D rectangles
- Think Data Structures
- Tim Roughgarden's Courses and Lecture Notes
- Algorithmic Game Theory
- Functional Data Structures and Algorithms: A Proof Assistant Approach - Londoño*, *Peter Lammich*, *Christian Sternagel*, *Simon Wimmer*, *Bohua Zhan*
- Data Structure Visualizations
- Hello Algo
- The Little Book of algorithms - Tam Nguyen*
- A First Course on Data Structures in Python
- Advanced Algorithms
- Advanced Algorithm Design
- Advanced Algorithm Design
- Advanced Data Structures
- Algorithms Books
- Algorithms for Optimization
- Algorithms for Decision Making
- Algorithms for Validation
- Algorithms Design (in C)
- Algorithms for Inference
- An Open Guide to Data Structures and Algorithms
- Book of All-pairs Shortest Paths
- Collision Detection
- Data Structures & Algorithm Analysis
- Design and Analysis of Algorithms
- Essential Coding Theory
- Functional Data Structures and Algorithms: A Proof Assistant Approach - Londoño*, *Peter Lammich*, *Christian Sternagel*, *Simon Wimmer*, *Bohua Zhan*
- Kalman Filter from the Ground Up
- Let's build a Full-Text Search engine
- Notes on Algorithms
- Planning Algorithms
- Problem Solving with Algorithms and Data Structures using Python
- Think Data Structures
- Tim Roughgarden's Courses and Lecture Notes
-
-
Art
-
Computer Games AI
-
Diff Algorithms
-
-
Biology
-
Computer Games AI
-
Diff Algorithms
-
-
Command line and tools
-
Computer Games AI
- Driving Compilers
- Getting started with tmux
- NixOS & Flakes Book - An unofficial book for beginners by *Ryan Yin*
-
Curl
-
-
Command Line and Tools
-
Computer Games AI
-
Curl
-
Diff Algorithms
- Command Line Handbook
- rsync: Series
- Terminal colours are tricky
- Writing Programs with NCURSES - Halim*
- Writing Your Own Simple Tab-Completions for Bash and Zsh
- Command Line Handbook
- Driving Compilers
- Getting started with tmux
- How is a binary executable organized? Let's explore it!
- rsync: Series
- Terminal colours are tricky
- Use Midnight Commander like a pro
-
Linux command line
-
Nix
- NixOS & Flakes Book - An unofficial book for beginners by *Ryan Yin*
- Wombat’s Book of Nix
-
-
Competitions and Interview Preparation Websites
-
Math <span id="math-competitions">
-
Physics <span id="physics-competitions">
-
Programming <span id="programming-competitions">
- Code Golf - A site for recreational programming competitions.
- CodeChef
- CodeForces
- Daily Programmer
- Hacker Earth
- LeetCode
- Rosalind - A platform for learning bioinformatics through problem solving.
- Skilled.dev
- Sphere Online Judge
- takeUforward
- Top Coder
- Competetive Programming
- Competitive Programming in Python: 128 Algorithms to Develop your Coding Skills - Jênn Vie*
- Edabit
- SQLPad
- Codewars
- LabEx - Learn Linux, DevOps & Cybersecurity with Hands-on Labs.
- CodingBat - A free site of live coding problems to build coding skill in Java and Python.
- Learn OCaml
- Skilled.dev
- takeUforward
- Algorithms for Competitive Programming
-
-
Compilers and Interpreters
-
Linux command line
- Part 1
- Part 2: Building a baseline JIT for Lua automatically
- Creating the Bolt Compiler
- How Clang Compiles a Function
- How LLVM Optimizes a Function
- Part 1
- Part 2
- Part 3
- 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
-
Programming <span id="programming-competitions">
- A Compiler Writing Journey
- A practical introduction to parsing
- Part 1
- Part 2
- Compiler Design in C
- Essentials of Compilation: An Incremental Approach
- Graal Truffle tutorial
- Part 2: Precedence and associativity in recursive descent
- Part 3: Packrat parsing: a top-down performance improvement
- Let's Build a Compiler
- Low-Level Software Security for Compiler Developers
- Threaded code
- Writing a C compiler in 500 lines of Python
- Writing a C Compiler, in Zig
- Introduction to Compilers and Language Design
- A practical introduction to parsing
- Build Your Own Lisp
- Part 1
- Part 2: Building a baseline JIT for Lua automatically
- Compiler Design in C
- Compiling to Assembly from Scratch
- Crafting Interpreters
- Creating the Bolt Compiler
- Essentials of Compilation: An Incremental Approach
- Introduction to Compilers and Language Design
- Part 1
- Part 2: Precedence and associativity in recursive descent
- Part 3: Packrat parsing: a top-down performance improvement
- Let's Build a Compiler
- Low-Level Software Security for Compiler Developers
- Make A Language - A series about making a programming language called *Eldiro* using the *Rust* programming language.
- Strategies for very fast Lexers
- Threaded code
- Writing a C compiler in 500 lines of Python
- Writing a C Compiler, in Zig
-
Static Program Analysis
-
-
Computer Graphics
-
Creative Coding
-
Curves and Surfaces
-
Demoscene
-
DirectX 12
-
Programming Languages
Categories
Math
477
Personal Websites and Blogs
403
Programming languages
325
Computer Graphics
266
AI
148
Algorithms
106
Retrocomputing
94
Web programming
57
Compilers and Interpreters
55
Operating Systems
45
Low Level Stuff
42
Computer Networks and Network Programming
41
Databases
35
Competitions and Interview Preparation Websites
33
Text editors
29
Physics
28
Command Line and Tools
27
Debuggers
23
Game Programming
21
Other lists
20
Other
19
Data Science
18
Design Patterns
15
Multithreading and Concurrency
14
Emulators and Virtual Machines
9
Cryptography
9
Robotics
9
Distributed systems
9
GUI Programming
8
Reverse engineering
8
Hardware
8
Digital Signal Processing
7
Unicode
6
General Programming
5
Command line and tools
5
Demoscene
5
System programming
4
Logical Games
4
Technical Writing
4
DevOps
3
Biology
3
Geographic Information Systems
3
SIMD programming
3
Art
2
Optimization
2
Electronics
2
Fluids Simulation
2
Testing
2
Photography
2
Music Theory
2
Version control tools
2
IQ Tests
2
Information TheoryDiscovering observers
1
Sub Categories
SIMD programming
198
Mixed Programming <span id="mixed-programming-blogs">
185
Machine Learning
125
WebGPU
125
Ray Tracing
100
Game and Graphics Programming <span id="game-and-graphics-programming-blogs">
89
Programming <span id="programming-competitions">
85
Vibe Coding and Spec-Driven Development
77
Python
64
SQL
61
Topology
60
Probability and Statistics
59
Operating Systems Development
57
Vim
56
C++ <span id="cpp">
52
Zig
50
Linux command line
49
Lists of programming projects to try to implement
48
C and C++ <span id="c-and-cpp-blogs">
46
Theoretical Computer Science
37
Static Program Analysis
36
Calculus
36
Diff Algorithms
35
Computer Games AI
32
ZX Spectrum and Z80 CPU
31
C++ <span id="cpp-blogs">
31
Game Engines
31
Algebra
29
Rust
28
Shaders
27
Math and Physics <span id="math-and-physics-blogs">
25
CSS
23
Assembly
22
Lisp dialects
22
Web Development <span id="web-development-blogs">
19
C
19
Emacs
18
Databases Development
16
Go
15
Geometry
13
DOS
13
DirectX 12
12
Other Blogs
11
Analysis
11
Proofs
11
Mathematical Finance
10
Vulkan
10
AI <span id="ai-blogs">
10
Books by Fabien Sanglard
9
Category Theory
9
Math <span id="math-competitions">
9
Operations Research
8
Performance and Optimization <span id="performance-and-optimization-blogs">
8
Jai
8
Regular expressions
7
Combinatorics
7
Mathematical Logic
7
CP/M <span id="cpm">
6
Odin
6
Haskell
6
Image Processing
6
Ada
6
Graph Theory
6
Commodore 64
6
Prolog
5
Number theory
5
OpenGL
5
Curl
5
Game Boy
5
Forth
5
JavaScript
4
Erlang
4
Apple II
4
GPU and TPU Programming
4
HTML
4
Bloom Filters
4
Creative Coding
4
Game Theory
4
Adevent of code on retro machines
4
Demoscene
4
High School Math
4
Measure Theory
3
Hardware Blogs
3
Django
3
Metal
3
R
3
PostScript
3
Java
3
Pyret
2
Lean
2
Simulations
2
Smalltalk
2
Pascal
2
OCaml
2
Physics <span id="physics-competitions">
2
Curves and Surfaces
2
Differential Equations
2
Ruby
2
Ya
2
Nix
2
NES
2
Datalog
1
General problem solving
1
D
1
C# <span id="c-sharp">
1
Bash
1
Date-time
1
Nim
1
Mega 65
1
CMake
1
Game Physics
1
NoSQL
1
Oberon-2
1
Basic
1
Cuda
1
Keywords
book
3
machine-learning
3
c
2
tutorial
2
reinforcement-learning
2
python
2
opengl
2
graphics-programming
2
matplotlib
2
numpy
2
graphics
2
book-series
1
code-editor
1
editor
1
education
1
intermediate
1
indiedev
1
hlsl
1
learning
1
learning-to-code
1
linux
1
programming
1
training-materials
1
training-providers
1
unix
1
vim
1
3d
1
godot
1
3d-graphics
1
game-development
1
gamedev
1
glsl
1
glsl-shader
1
glsl-shaders
1
30-days-of-python
1
flask
1
github
1
heroku
1
mongodb
1
pandas
1
python3
1
aarch64
1
arm64
1
armv8
1
bare-metal
1
embedded-rust
1
kernel
1
operating-system
1
os
1
raspberry
1