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: 3 days ago
JSON representation
-
Computer Graphics
-
Ray Tracing
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Demystifying multiple importance sampling
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing with Voxels in C++
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Amanatides and Woo's fast Voxel Traversal
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray-Casting Tutorial For Game Development And Other Purposes
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Raymarching explained interactively
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Amanatides and Woo's fast Voxel Traversal
- How to build a BVH
- Ray Tracing Gems - Möller*
- Ray Tracing Gems II
- Ray Tracing with Voxels in C++
- Raymarching explained interactively
-
Shaders
- Part 1
- Part 2
- Part 3
- Part I: The blob
- Mesh Shaders on RDNA™ Graphics Cards
- The Book of Shaders
- Mesh Shaders on RDNA™ Graphics Cards
- Introducing GPU Reshape - shader instrumentation for everyone
- 3D Game Shaders For Beginners
- Introduction to Shaders
- Learn Shader Programming with Rick and Morty
- No More Shading Languages: Compiling C++ to Vulkan Shaders
- On Crafting Painterly Shaders
- Post-Processing Shaders as a Creative Medium
- Shaders For People Who Don't Know How To Shader
- The Best Darn Grid Shader (Yet)
- Part 1
- Part 2
- Part 3
- GM Shaders - All about shaders for GameMaker!
- Introducing GPU Reshape - shader instrumentation for everyone
- Introduction to Shaders
- Learn Shader Programming with Rick and Morty
- Mesh Shaders on RDNA™ Graphics Cards
- On Crafting Painterly Shaders
- Post-Processing Shaders as a Creative Medium
- Shader Tutorials by Ronja
-
Static Program Analysis
- Rotations with quaternions
- Physically based rendering from first principles
- A fast and precise triangle rasterizer
- Part 1
- Part 2: Performance
- Blocky Planet — Making Minecraft Spherical
- Collection of AMD Research Publications
- FrostKiwi's Secrets
- AAA - Analytical Anti-Aliasing
- How to (and how not to) fix color banding
- How video games use LUTs and how you can too
- Video Game Blurs (and how the best one works)
- Fundamentals of Radiance Cascades
- Rotations with quaternions
- GPU Programming Primitives for Computer Graphics - Chen Kao*
- Lode's Computer Graphics Tutorial
- Matrix Compendium - The main purpose of this article is to gather information in the field of transformation in computer graphics and put it in one place.
- Optimizing Software Occlusion Culling
- Part 1
- Part 2
- Part 3
- Part 1
- Part 2
- Physically based rendering from first principles
- Physically Based Shading in Theory and Practice
- Part 1
- Part 2
- Rasterising a triangle
- Software rasterizing hair
- Texture-less Text Rendering
- The Geometry Behind Normal Maps
- Voxel Engine in a Weekend
- Learn Computer Graphics From Scratch
-
Vulkan
- I Am Graphics And So Can You - a series of blog posts about implementing a Vulkan renderer for Doom 3 by *Dustin H. Land*
- Vulkan Raytracing Tutorials
- How I learned Vulkan and wrote a small game engine with it
- NVIDIA Vulkan Ray Tracing Tutorial - Karl Lefrançois*, *Pascal Gautron*, *Nia Bickford*, *David Akeley*
- Vulkan Tutorial (Rust)
- A Vulkan introduction
- How I learned Vulkan and wrote a small game engine with it
- NVIDIA Vulkan Ray Tracing Tutorial - Karl Lefrançois*, *Pascal Gautron*, *Nia Bickford*, *David Akeley*
- Vulkan Raytracing Tutorials
- Vulkan Tutorial (Rust)
- Vulkan – Cross platform 3D Graphics
- Vulkan Guide
- Vulkan Tutorial
-
WebGPU
-
-
Computer Networks and Network Programming
-
WebGPU
- HTTP/3 explained
- Networking 101
- Computer Network Tutorials
- Mediocre Engineer’s guide to HTTPS
- Computer Network Tutorials
- A comprehensive guide for Linux Network (Socket) programming
- Concurrent Servers
- Implementing fast TCP fingerprinting with eBPF
- Implementing TCP In Rust
- Visual guide to SSH tunneling and port forwarding
- Part 2 - Threads
- 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
-
Programming Languages
Categories
Math
483
Personal Websites and Blogs
405
Programming languages
331
Computer Graphics
273
AI
107
Retrocomputing
96
Algorithms
71
Web programming
59
Compilers and Interpreters
57
Low Level Stuff
49
Operating Systems
46
Computer Networks and Network Programming
42
Databases
38
Game Programming
37
Competitions and Interview Preparation Websites
34
Text editors
31
Physics
28
Design Patterns
25
Debuggers
23
Command Line and Tools
22
Other
21
Other lists
20
Data Science
20
Multithreading and Concurrency
15
Digital Signal Processing
14
Distributed systems
14
Emulators and Virtual Machines
13
GUI Programming
12
Hardware
10
Cryptography
10
Robotics
9
Reverse engineering
8
General Programming
7
Unicode
6
Geographic Information Systems
6
Command line and tools
5
Demoscene
5
System programming
4
DevOps
4
Logical Games
4
Technical Writing
4
Electronics
3
SIMD programming
3
Version control tools
2
Fluids Simulation
2
Optimization
2
IQ Tests
2
Testing
2
Biology
2
Music Theory
2
Photography
2
Information TheoryDiscovering observers
1
Information Theory
1
Art
1
Sub Categories
SIMD programming
199
Mixed Programming <span id="mixed-programming-blogs">
186
WebGPU
130
SQL
101
Ray Tracing
100
Machine Learning
92
Game and Graphics Programming <span id="game-and-graphics-programming-blogs">
90
Programming <span id="programming-competitions">
87
Python
66
Lists of programming projects to try to implement
65
Topology
61
Probability and Statistics
59
Vim
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
Calculus
37
Static Program Analysis
37
Theoretical Computer Science
37
Game Engines
35
ZX Spectrum and Z80 CPU
31
C++ <span id="cpp-blogs">
31
Algebra
31
Rust
29
Computer Games AI
29
Shaders
27
Math and Physics <span id="math-and-physics-blogs">
25
CSS
23
Lisp dialects
22
Assembly
22
Web Development <span id="web-development-blogs">
21
Emacs
19
C
19
Diff Algorithms
18
Databases Development
17
Go
16
DOS
13
Geometry
13
Vulkan
13
DirectX 12
12
Analysis
11
Proofs
11
Other Blogs
11
Math <span id="math-competitions">
10
AI <span id="ai-blogs">
10
Mathematical Finance
10
Category Theory
9
Books by Fabien Sanglard
9
Performance and Optimization <span id="performance-and-optimization-blogs">
8
Operations Research
8
Jai
8
Mathematical Logic
7
Regular expressions
7
Combinatorics
7
CP/M <span id="cpm">
6
Number theory
6
JavaScript
6
Game Boy
6
Image Processing
6
Haskell
6
Ada
6
OpenGL
6
Odin
6
Commodore 64
6
Graph Theory
6
Curl
5
Forth
5
Game Theory
5
Creative Coding
5
Prolog
5
Erlang
4
High School Math
4
Demoscene
4
Apple II
4
Adevent of code on retro machines
4
GPU and TPU Programming
4
Game Physics
4
HTML
4
R
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
Curves and Surfaces
2
Differential Equations
2
Physics <span id="physics-competitions">
2
NES
2
Simulations
2
Ya
2
CMake
1
Cuda
1
NoSQL
1
Oberon-2
1
D
1
Numerical analysis
1
C# <span id="c-sharp">
1
Nim
1
Mega 65
1
General problem solving
1
Datalog
1
Date-time
1
Bash
1
Basic
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