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
-
Math
-
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
-
-
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
- Lu's blog
- Manu Sanchez's Blog
- Molecular Musings
- Moody Camel
- Nibble Stew's Blog
- null program
- Peter Dimov'a Blog
- Programming Nonsense
- ReachableCode
- The Sparkelling Bedangler
- Thinking Asynchronously in C++
- Victor Zverovich's Blog
- Video Cortex
- Vittorio Romeo's Blog
- Mathieu Ropert's Blog
- Tomasz Wisniewski's Blog
-
Programming Languages
Categories
Math
483
Personal Websites and Blogs
405
Programming languages
331
Computer Graphics
277
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
40
Game Programming
37
Competitions and Interview Preparation Websites
35
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
Digital Signal Processing
14
Distributed systems
14
Emulators and Virtual Machines
13
GUI Programming
12
Hardware
10
Cryptography
10
Robotics
9
General Programming
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
Version control tools
2
Fluids Simulation
2
Optimization
2
IQ Tests
2
Testing
2
Music Theory
2
Biology
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
103
Ray Tracing
101
Machine Learning
92
Game and Graphics Programming <span id="game-and-graphics-programming-blogs">
90
Programming <span id="programming-competitions">
88
Python
66
Lists of programming projects to try to implement
65
Topology
62
Vim
59
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
Assembly
22
Lisp dialects
22
Web Development <span id="web-development-blogs">
21
Diff Algorithms
19
C
19
Emacs
19
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
Mathematical Finance
10
AI <span id="ai-blogs">
10
Category Theory
9
Books by Fabien Sanglard
9
Jai
8
Performance and Optimization <span id="performance-and-optimization-blogs">
8
Operations Research
8
Regular expressions
7
Combinatorics
7
Mathematical Logic
7
Graph Theory
6
Image Processing
6
Number theory
6
CP/M <span id="cpm">
6
JavaScript
6
Game Physics
6
Commodore 64
6
Haskell
6
Odin
6
Game Boy
6
Ada
6
OpenGL
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