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
-
Programming languages
-
Python
- Wicked Python trickery - dynamically patch a Python function's source code at runtime
- Architecture Patterns with Python
- Real Python - A collection of Python tutorials.
- Computational Discovery on Jupyter
- Data Structures and Information Retrieval in Python
- From Python to Numpy
- How to Think Like a Computer Scientist: Interactive Edition
- Introduction to Computer Programming with Python
- Invent With Python
- Beyond the Basic Stuff with Python
- Cracking Codes with Python
- Invent Your Own Computer Games with Python
- Making Games with Python & Pygame
- Python Programming Exercises, Gently Explained
- Scratch 3 Programming Playground
- The Big Book of Small Python Projects
- The Recursive Book of Recursion
- Planet Python
- Python & OpenGL for Scientific Visualization
- Python Asyncio: The Complete Guide
- Python Courses
- Python Data Science Handbook
- Python for Data Analysis, 3rd edition
- Python Programming for Economics and Finance
- Think Python, 2nd Edition
- Wicked Python trickery - dynamically patch a Python function's source code at runtime
- Full Stack Python
- Automate the Boring Stuff with Python
- Python Design Patterns
-
R
- Big Book of R
- Efficient R Programming
- R for Data Science (2e) - Rundel*, *Garrett Grolemund*
-
Regular expressions
-
Ruby
-
Rust
- A Gentle Introduction to Rust
- Beginner's guide to Error Handling in Rust
- Effective Rust
- Exploring ways to make async Rust easier
- Learning Async Rust With Entirely Too Many Web Servers
- Rust Atomics and Locks: Low-Level Concurrency in Practice
- Things you can’t do in Rust (and what to do instead)
- 100 Exercises To Learn Rust
- Async Rust in Three Parts
- C++ to Rust Phrasebook
- Dependency Injection like Bevy Engine from Scratch
- No-Panic Rust: A Nice Technique for Systems Programming
- Rust Atomics and Locks: Low-Level Concurrency in Practice
- Rust data structures with circular references
- Testing multiple implementations of a trait in Rust
- Things you can’t do in Rust (and what to do instead)
- Asynchronous Programming in Rust
- Beginner's guide to Error Handling in Rust
- C++ to Rust Phrasebook
- Clear explanation of Rust’s module system
- Comprehensive Rust
- Dependency Injection like Bevy Engine from Scratch
- Effective Rust
- Exploring ways to make async Rust easier
- Learning Async Rust With Entirely Too Many Web Servers
- Rust Atomics and Locks: Low-Level Concurrency in Practice
- Rust Language Cheat Sheet
- Things you can’t do in Rust (and what to do instead)
- 100 Exercises To Learn Rust
-
Simulations
-
Smalltalk
- Smalltalk Resources - A list of free smalltalk books.
- Smalltalk Resources - A list of free smalltalk books.
-
Ya
-
Zig
-
-
Retrocomputing
-
Adevent of code on retro machines
-
Apple II
-
Books by Fabien Sanglard
-
Commodore 64
- An Afterlife User's Guide to the C64
- C64 OS Programmer's Guide
- An Afterlife User's Guide to the C64
- C64 OS Programmer's Guide
- Commodore Bookmarks - Bookmarks for the Commodore 64, 128, Plus4, C16, VIC20 & PET Community.
- The Lost Ways of Programming: Commodore 64 BASIC
-
CP/M <span id="cpm">
-
DOS
-
Game Boy
-
Mega 65
-
NES
- Famicom Party: Making NES Games in Assembly
- NesDev.org - A community of homebrew game developers and hardware researchers for the Nintendo Entertainment System (NES) and other retro consoles.
-
Zig
- A Guide to the Graphics of the Sega Mega Drive / Genesis
- An Afterlife User's Guide to the C64
- Apple II Documentation Project
- Commodore 64 Guides
- Commodore Bookmarks - Bookmarks for the Commodore 64, 128, Plus4, C16, VIC20 & PET Community.
- Famicom Party: Making NES Games in Assembly
- First Steps in Z80 Assembly Language
- How to Write ZX Spectrum Games
- Learn Multiplatform Assembly Programming
- MEGA65 Documentation
- MEGA65 Welcome Guide
- Michael Abrash’s Graphics Programming Black Book, Special Edition
- Multiplying and Dividing on the 6502
- Sinclair ZX Spectrum BASIC programming
- The Lost Ways of Programming: Commodore 64 BASIC
- Z80 User's Manual
- Usborne 1980s Computer Books
- Neil Parker's Apple II page
- A Guide to the Graphics of the Sega Mega Drive / Genesis
- BASIC Code
- Books by Fabien Sanglard
- How PlayStation Graphics & Visual Artefacts Work
- jsgroth's blog
- Mark Moxon's Software Archaeology - Fully documented source code for Elite, Revs, Lander, Aviator and more
- MarkeyJester’s Motorola 68000 Beginner’s Tutorial
- NeHe OpenGL Tutorials
- Patai Gergely's Website
- Porting Stunt Car Racer to the Commodore Plus/4
- Porting Stunt Car Racer to the Apple II
- Pushing the Boundaries of C64 Graphics with NUFLIX
- Portals and Quake
- Programming specs for the GBA and NDS hardware
- Retro Game Coders
- The Annotated "Programming the Nintendo GBA : The Unofficial Guide
- Extra Instructions Of The 65XX Series CPU
- Extra Instructions Of The 65XX Series CPU
- BASIC Code
- Easy 6502
- How pseudo-3d racing games work
- jsgroth's blog
- Learn Multiplatform Assembly Programming
- Mark Moxon's Software Archaeology - Fully documented source code for Elite, Revs, Lander, Aviator and more
- MarkeyJester’s Motorola 68000 Beginner’s Tutorial
- Michael Abrash’s Graphics Programming Black Book, Special Edition
- Patai Gergely's Website
- Portals and Quake
- Retro Game Coders
- The Annotated "Programming the Nintendo GBA : The Unofficial Guide
- Game Eengine White Papers: Commander Keen
-
ZX Spectrum and Z80 CPU
- First Steps in Z80 Assembly Language
- ZX Spectrum Next: Assembly Developer Guide
- ZX Online Articles
- Angle Calculation on Z80: Doing the Impossible at 3.5 MHz
- ZX Spectrum Graphics Magic: The Basics Every Spectrum Fan Should Know
- Sinclair ZX Spectrum BASIC programming
- ZX Online Articles
- Angle Calculation on Z80: Doing the Impossible at 3.5 MHz
- ZX Spectrum Graphics Magic: The Basics Every Spectrum Fan Should Know
-
-
Reverse engineering
-
Books by Fabien Sanglard
-
DOS
-
ZX Spectrum and Z80 CPU
-
-
Robotics
-
Books by Fabien Sanglard
-
DOS
-
ZX Spectrum and Z80 CPU
-
-
SIMD programming
-
Books by Fabien Sanglard
-
DOS
-
-
System programming
-
ZX Spectrum and Z80 CPU
-
-
Technical Writing
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
39
Game Programming
37
Competitions and Interview Preparation Websites
34
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
8
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
102
Ray Tracing
101
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
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
C
19
Emacs
19
Diff Algorithms
19
Databases Development
17
Go
16
Vulkan
13
Geometry
13
DOS
13
DirectX 12
12
Analysis
11
Other Blogs
11
Proofs
11
Math <span id="math-competitions">
10
AI <span id="ai-blogs">
10
Mathematical Finance
10
Books by Fabien Sanglard
9
Category Theory
9
Jai
8
Operations Research
8
Performance and Optimization <span id="performance-and-optimization-blogs">
8
Mathematical Logic
7
Combinatorics
7
Regular expressions
7
CP/M <span id="cpm">
6
JavaScript
6
Number theory
6
Commodore 64
6
Image Processing
6
Graph Theory
6
Haskell
6
Odin
6
Game Boy
6
Ada
6
OpenGL
6
Curl
5
Prolog
5
Game Physics
5
Forth
5
Game Theory
5
Creative Coding
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