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: about 2 hours ago
JSON representation
-
Math
-
Theoretical Computer Science
- Busy Beavers! - An interactive intro to Computability Theory
- Computational Complexity: A Modern Approach
- Elements of Programming
- Great Ideas in Theoretical Computer Science
- Introduction to Theoretical Computer Science
- Mathematical Techniques for Algorithm Analysis
- Mathematics for Computer Science
- Mathematics for Computer Science
- Discrete Structures for Computer Science: Counting, Recursion, and Probability
- generatingfunctionology
- Software Foundations - A broad introduction to the mathematical underpinnings of reliable software.
- Applied Discrete Structures
- Discrete Structures for Computer Science: Counting, Recursion, and Probability
- Foundations of Computation
-
Topology
-
-
Multithreading and Concurrency
-
Topology
- A C++17 Thread Pool for High-Performance Scientific Computing
- A Science of Concurrent Programs
- Is Parallel Programming Hard, And, If So, What Can You Do About It?
- A Science of Concurrent Programs
- Implementing simple cooperative threads in C
- Introduction to Parallel Computing Tutorial
- Lockfree Programming: A Mental Model
- Reading and writing - Article series on race conditions by *James Coglan*
- What every systems programmer should know about concurrency
- Spinlocks vs. Mutexes: When to Spin and When to Sleep
- Implementing simple cooperative threads in C
- POSIX Threads Programming
- Reading and writing - Article series on race conditions by *James Coglan*
- The Little Book of Semaphores
- Programming Parallel Computers
- The Deadlock Empire
-
-
Music Theory
-
Operating Systems
-
Operating Systems Development
- Writing a Simple Operating System — from Scratch
- Part 1 - Project Setup
- Part 2 - Kernel in virtual addresses
- Part 3 - Managing free memory
- OSDev.org
- Operating System development tutorials in Rust on the Raspberry Pi
- Operating System in 1,000 Lines
- Writing a Simple Operating System — from Scratch
- A Journey in Creating an Operating System Kernel
- Baking Pi – Operating Systems Development
- Making a RISC-V Operating System using Rust
- Operating Systems: From 0 to 1
- The little book about OS development
- Writing an OS in Nim
- xv6: a simple, Unix-like teaching operating system
- Writing an OS in Rust
-
Topology
- A Journey in Creating an Operating System Kernel
- Linux Insides
- Making our own executable packer
- Operating Systems: Three Easy Pieces - Dusseau* and *Andrea C Arpaci-Dusseau*
- Systems Programming: Lecture Notes
- The Art of Unix Programming
- Unix as IDE
- Writing an OS in Nim
- Advanced Linux Programming
- Exploring Operating Systems
- Part 1
- Part 2
- Part 3
- My Own Private Binary: An Idiosyncratic Introduction to Linux Kernel Modules
- The Art of Unix Programming
- The UNIX-HATERS Handbook
- A Commentary On The Sixth Edition Unix Operating System
- Exploring Operating Systems
- How to write Rust in the kernel
- Part 1
- Part 2
- Part 3
- Notes on Operating Systems
- Systems Programming: Lecture Notes
- The Linux Documentation Project
- The Linux Kernel Module Programming Guide
- Unix as IDE
- Principia Softwarica - A series of literate programming books explaining Plan 9 system programs.
- Linux Basics for Hackers
- Principia Softwarica - A series of literate programming books explaining Plan 9 system programs.
-
-
Optimization
-
Other
-
CSS
- Agner Fog's Website
- Beej's Guides
- Explained from First Principles
- How These Things Work - a book about abstraction
- Rocket and Space Technology
- Software Technical Writing: A Guidebook
- The Fundamentals of Control Theory
- The Scientist and Engineer's Guide to Digital Signal Processing
- Project Oberon: The Design of an Operating System, a Compiler, and a Computer
-
Other Blogs
-
Web Development <span id="web-development-blogs">
- Explained from First Principles
- Improve Your Social Skills
- Project Oberon: The Design of an Operating System, a Compiler, and a Computer
- The Art of HPC
- The Art of Insight in Science and Engineering: Mastering Complexity
- The Missing Semester of Your CS Education
- Vjeux Blog
- 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*
-
-
Other lists
-
CSS
- Build Your Own X
- Free Computer Books
- Free Tech Books
- GPU Optimization for GameDev
- Project Based Learning
- Electronic References - a loosely-categorized collection of links to CS textbooks in a variety of areas that are freely available online.
-
Other Blogs
-
Web Development <span id="web-development-blogs">
- Awesome Math Books
- Build Your Own X
- Free Computer Books
- Free Tech Books
- LibreTexts - Collections of science books.
- Lovely Professional University Books
- Open Source Society University
- Become a Programmer, Motherfucker - A list of free programming books.
-
-
Personal Websites and Blogs
-
AI <span id="ai-blogs">
-
C and C++ <span id="c-and-cpp-blogs">
- The Pasture
- The Pasture
- Alf on programming (mostly C++)
- Andrzej's C++ Blog
- Asymmetric Transfer
- Bannalia: trivial notes on themes diverse
- Barry's C++ Blog
- Borislav Stanimirov's Website
- Braden Ganetsky's Website
- C++ Metaprogramming
- C++ on a Friday
- C++ Stories
- C++ Truths
- Crascit's Blog
- Cristian Adam's Blog
- Eric Niebler's Blog
- Fluent C++
- foonathan::blog()
- Functional C++
- Lu's blog
- Manu Sanchez's Blog
- Marshall's C++ Musings
- Modernes C++
- Molecular Musings
- Moody Camel
- Nibble Stew's Blog
- Peter Dimov'a Blog
- Preshing on Programming
- Programming Nonsense
- ReachableCode
- Sandor Dargo's Blog
- Simplify C++
- The Old New Thing: Practical development throughout the evolution of Windows
- The Sparkelling Bedangler
- Thinking Asynchronously in C++
- vector-of-bool
- Victor Zverovich's Blog
- Video Cortex
- Vishal Chovatiya's Blog
- Vittorio Romeo's Blog
- Vorbrodt's C++ Blog
- Arthur O’Dwyer's Blog
- Arthur O’Dwyer's Blog
- Chaitanya Kumar's Blog
- Ion Gaztañaga's Blog
- Jaysmito Mukherjee's Blog
-
C++ <span id="cpp-blogs">
- Alf on programming (mostly C++)
- Asymmetric Transfer
- Bannalia: trivial notes on themes diverse
- Barry's C++ Blog
- Borislav Stanimirov's Website
- Braden Ganetsky's Website
- C++ Metaprogramming
- C++ on a Friday
- C++ Truths
- Crascit's Blog
- Cristian Adam's Blog
- foonathan::blog()
- Functional C++
- Just Software Solutions' Blog
-
Programming Languages
Categories
Math
483
Personal Websites and Blogs
411
Programming languages
332
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
46
Computer Networks and Network Programming
42
Databases
40
Game Programming
37
Text editors
31
Physics
29
Design Patterns
25
Command Line and Tools
23
Debuggers
23
Other lists
21
Other
21
Data Science
20
Multithreading and Concurrency
16
Digital Signal Processing
15
Distributed systems
14
Emulators and Virtual Machines
13
GUI Programming
12
General Programming
11
Hardware
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
Fluids Simulation
2
Photography
2
Version control tools
2
Biology
2
Information TheoryDiscovering observers
1
Art
1
Information Theory
1
Sub Categories
SIMD programming
199
Mixed Programming <span id="mixed-programming-blogs">
189
WebGPU
130
SQL
104
Ray Tracing
101
Programming <span id="programming-competitions">
98
Machine Learning
93
Game and Graphics Programming <span id="game-and-graphics-programming-blogs">
91
Python
66
Lists of programming projects to try to implement
65
Topology
62
Vim
61
Operating Systems Development
59
Probability and Statistics
59
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
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
Web Development <span id="web-development-blogs">
24
CSS
23
Lisp dialects
22
Assembly
22
C
20
Emacs
19
Diff Algorithms
19
Databases Development
17
Go
16
Vulkan
13
Geometry
13
DOS
13
DirectX 12
12
Other Blogs
11
Proofs
11
Math <span id="math-competitions">
11
Analysis
11
Mathematical Finance
10
AI <span id="ai-blogs">
10
Books by Fabien Sanglard
9
Category Theory
9
Performance and Optimization <span id="performance-and-optimization-blogs">
8
Operations Research
8
Jai
8
Game Physics
8
Regular expressions
7
Combinatorics
7
Mathematical Logic
7
Number theory
6
Image Processing
6
Graph Theory
6
Commodore 64
6
Haskell
6
JavaScript
6
Odin
6
Game Boy
6
CP/M <span id="cpm">
6
Ada
6
OpenGL
6
Curl
5
Creative Coding
5
Game Theory
5
Forth
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
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