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: 2 days ago
JSON representation
-
Computer Networks and Network Programming
-
WebGPU
- Part 3 - Event-driven
- Part 4 - libuv
- Part 5 - Redis case study
- Part 6 - Callbacks, Promises and async/await
- Part 2: Networking
- Part 3: Server
- Part 4: Data structures
- Part 5: Topic abstraction
- Part 6: Handlers
- Part 7: Refactoring & eventloop
- Topics in High-Performance Messaging
- An Introduction to Computer Networks
- Computer Networks: A Systems Approach
- HTTP2 Explained
- HTTP/3 explained
- Implementing fast TCP fingerprinting with eBPF
- Part 1: Ethernet & ARP
- Part 2: IPv4 & ICMPv4
- Part 3: TCP Basics & Handshake
- Part 4: TCP Data Flow & Socket API
- Part 5: TCP Retransmission
- Part 2: Networking
- Part 3: Server
- Part 4: Data structures
- Part 5: Topic abstraction
- Part 6: Handlers
- Part 7: Refactoring & eventloop
- Networking 101
- Serving files over HTTP three ways: synchronous, epoll, and io_uring
- Visual guide to SSH tunneling and port forwarding
- Part 1: The protocol
-
-
Cryptography
-
WebGPU
- Cryptography: An Introduction (3rd Edition)
- Advanced Topics in Cryptography: From Lattices to Program Obfuscation
- All I Know About Certificates
- Coding Theory & Cryptography
- The Beginner's Textbook for Fully Homomorphic Encryption
- Coding Theory & Cryptography
- A Graduate Course in Applied Cryptography
- Advanced Topics in Cryptography: From Lattices to Program Obfuscation
- An Intensive Introduction to Cryptography
- Practical Cryptography for Developers
-
-
Databases
-
Databases Development
- B-trees and database indexes
- Part 1: Listing tables
- Part 2: Scanning large tables
- Part 3: SQL parsing 101
- Part 4: reading tables metadata
- Part 5: Evaluating queries
- Concurrency Control and Recovery in Database Systems
- Jacob's blog: On database building blocks
- A B+Tree Node Underflows: Merge or Borrow?
- Cache-Friendly B+Tree Nodes With Dynamic Fanout
- Build Your Own Database From Scratch in Go
- Concurrency Control and Recovery in Database Systems
- Jacob's blog: On database building blocks
- A B+Tree Node Underflows: Merge or Borrow?
- Cache-Friendly B+Tree Nodes With Dynamic Fanout
- Let's Build a Simple Database
- Build Your Own Redis with C/C++
-
NoSQL
-
SQL
- Mode's SQL Tutorial
- SQLZap - Learn SQL with for Free.
- MySQL Tutorial
- SQL Tutorial - Master SQL quickly and effectively with clear concepts, hands-on examples, and interactive quizzes.
- SQL for the Weary
- SQLZap - Learn SQL with for Free.
- MySQL for Developers
- The Internals of PostgreSQL
- Oracle Tutorial
- Mode's SQL Tutorial
- SQLBolt - Learn SQL with simple, interactive exercises.
- SQLZoo - SQL Tutorial.
- PostgreSQL Tutorial
-
WebGPU
-
-
Data Science
-
WebGPU
- Advanced Data Science: Statistics and Prediction Algorithms Through Case Studies
- Introduction to Data Science: Data Wrangling and Visualization with R
- Hands-On Data Visualization
- Mathematical Methods in Data Science (with Python)
- Mining Social Media
- Topics in Mathematics of Data Science
- Towards Data Science - The world’s leading publication for data science, AI, and ML professionals.
- Advanced Data Science: Statistics and Prediction Algorithms Through Case Studies
- Data Science at the Command Line
- Data Science: Theories, Models, Algorithms, and Analytics
- Data for the book's examples
- Version with Python and R
- Hands-On Data Visualization
- Introduction to Data Science: Data Wrangling and Visualization with R
- Mathematical Methods in Data Science (with Python)
- Mining Social Media
- Topics in Mathematics of Data Science
- Fundamentals of Data Visualization
- Mining of Massive Datasets
-
-
Debuggers
-
WebGPU
- How Does a C Debugger Work?
- Part 1 - Attaching to a Process
- Part 2 - Register State and Stepping
- Part 3 - Reading Memory
- Part 4 - Exports and Private Symbols
- Part 5 - Breakpoints
- Part 6 - Stacks
- Part 7 - Disassembly
- Part 8 - Source and Symbols
- Debugging with GDB
- How Does a C Debugger Work?
- A Field Guide to Bugs
- A Field Guide to Bugs
- Debugging with GDB
- Writing a Linux Debugger
- Part 1 - Attaching to a Process
- Part 2 - Register State and Stepping
- Part 3 - Reading Memory
- Part 4 - Exports and Private Symbols
- Part 5 - Breakpoints
- Part 6 - Stacks
- Part 7 - Disassembly
- Part 8 - Source and Symbols
-
-
Demoscene
-
SQL
- Graphics Tricks from Boomers - Technical details about a 4096 bytes Atari-STE intro, by *Arnaud Carré*.
- Part 2: Texturing in a 64kB intro
- Graphics Tricks from Boomers - Technical details about a 4096 bytes Atari-STE intro, by *Arnaud Carré*.
- Part 1: A dive into the making of Immersion
- Part 3: Procedural 3D mesh generation in a 64kB intro
-
-
Design Patterns
-
SQL
- Building abstractions using higher-order functions
- Decorators and Functional programming
- Design Patterns You Should Unlearn in Python: Part2
- Part 1
- Part 2
- Part 3
- The expression problem and Rust
- Indices, not Pointers
- Multiple Dispatch Series
- Plugins Series
- Data Engineering Design Patterns (DEDP)
- Data-Oriented Design
- Design Patterns & Refactoring
- Decorators and Functional programming
- Design Patterns You Should Unlearn in Python: Part1
- Design Patterns You Should Unlearn in Python: Part2
- Most Design Patterns Are Just Dependency Injection in Disguise
- The expression problem and Rust
- From design patterns to category theory
- Game Programming Patterns
- Indices, not Pointers
- The Architecture of Open Source Applications
-
WebGPU
-
-
DevOps
-
Digital Signal Processing
-
SQL
- AI Audio Signal Processing Reading List
- Audio Signal Processing in FAUST
- Intoroduction to Digital Filters
- Physical Audio Signal Processing
- PySDR: A Guide to SDR and DSP using Python
- Software-Defined Radio for Engineers
- Digital Signals Theory
- Online Textbooks and Course Materials by Julius Orion Smith III
- Audio Signal Processing in FAUST
- Intoroduction to Digital Filters
- Physical Audio Signal Processing
- Spectral Audio Signal Processing
- PySDR: A Guide to SDR and DSP using Python
- The Scientist and Engineer's Guide to Digital Signal Processing
-
-
Distributed systems
-
SQL
- Implementing Raft
- Linearizability in distributed systems
- Notes on Theory of Distributed Systems
- Principles of Blockchains
- Rewriting Kafka in Rust Async: Insights and Lessons Learned in Rust
- Implementing the Raft distributed consensus protocol in Go
- Distributed Systems
- Distributed systems for fun and profit
- Patterns of Distributed Systems
- Principles of Blockchains
- Rewriting Kafka in Rust Async: Insights and Lessons Learned in Rust
- Testing Distributed Systems - Curated list of resources on testing distributed systems by *Andrey Satarin*.
-
WebGPU
-
-
Electronics
-
Emulators and Virtual Machines
-
SQL
-
WebGPU
-
Programming Languages
Categories
Math
483
Personal Websites and Blogs
408
Programming languages
331
Computer Graphics
277
AI
108
Retrocomputing
96
Algorithms
71
Web programming
61
Compilers and Interpreters
57
Low Level Stuff
49
Operating Systems
46
Competitions and Interview Preparation Websites
45
Computer Networks and Network Programming
42
Databases
40
Game Programming
37
Text editors
31
Physics
28
Design Patterns
25
Debuggers
23
Command Line and Tools
23
Other
21
Other lists
20
Data Science
20
Multithreading and Concurrency
16
Distributed systems
14
Digital Signal Processing
14
Emulators and Virtual Machines
13
GUI Programming
12
Hardware
10
General Programming
10
Cryptography
10
Robotics
9
Reverse engineering
8
Unicode
6
Geographic Information Systems
6
Command line and tools
5
Demoscene
5
System programming
4
DevOps
4
Logical Games
4
Technical Writing
4
SIMD programming
3
Electronics
3
Optimization
2
Testing
2
IQ Tests
2
Music Theory
2
Biology
2
Fluids Simulation
2
Photography
2
Version control tools
2
Information TheoryDiscovering observers
1
Information Theory
1
Art
1
Sub Categories
SIMD programming
199
Mixed Programming <span id="mixed-programming-blogs">
187
WebGPU
130
SQL
103
Ray Tracing
101
Programming <span id="programming-competitions">
97
Machine Learning
93
Game and Graphics Programming <span id="game-and-graphics-programming-blogs">
90
Python
66
Lists of programming projects to try to implement
65
Topology
62
Vim
61
Probability and Statistics
59
Operating Systems Development
58
C++ <span id="cpp">
52
Zig
51
Vibe Coding and Spec-Driven Development
50
Linux command line
49
C and C++ <span id="c-and-cpp-blogs">
46
Static Program Analysis
39
Calculus
37
Theoretical Computer Science
37
Game Engines
35
Algebra
31
C++ <span id="cpp-blogs">
31
ZX Spectrum and Z80 CPU
31
Rust
29
Computer Games AI
29
Shaders
27
Math and Physics <span id="math-and-physics-blogs">
25
CSS
23
Web Development <span id="web-development-blogs">
23
Assembly
22
Lisp dialects
22
C
19
Emacs
19
Diff Algorithms
19
Databases Development
17
Go
16
Vulkan
13
Geometry
13
DOS
13
DirectX 12
12
Math <span id="math-competitions">
11
Other Blogs
11
Proofs
11
Analysis
11
Mathematical Finance
10
AI <span id="ai-blogs">
10
Category Theory
9
Books by Fabien Sanglard
9
Operations Research
8
Jai
8
Performance and Optimization <span id="performance-and-optimization-blogs">
8
Mathematical Logic
7
Regular expressions
7
Game Physics
7
Combinatorics
7
OpenGL
6
Ada
6
Game Boy
6
Odin
6
Haskell
6
Commodore 64
6
Graph Theory
6
Image Processing
6
JavaScript
6
Number theory
6
CP/M <span id="cpm">
6
Prolog
5
Forth
5
Game Theory
5
Creative Coding
5
Curl
5
Erlang
4
High School Math
4
Demoscene
4
Apple II
4
Adevent of code on retro machines
4
GPU and TPU Programming
4
HTML
4
R
3
Curves and Surfaces
3
Measure Theory
3
Hardware Blogs
3
Metal
3
PostScript
3
Java
3
Django
3
Pyret
2
Lean
2
Pascal
2
Smalltalk
2
Bloom Filters
2
OCaml
2
Nix
2
Ruby
2
Physics <span id="physics-competitions">
2
NES
2
Ya
2
Simulations
2
Differential Equations
2
Bash
1
General problem solving
1
Mega 65
1
Datalog
1
C# <span id="c-sharp">
1
Date-time
1
Nim
1
Basic
1
Numerical analysis
1
D
1
Oberon-2
1
NoSQL
1
Cuda
1
CMake
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