Websites, tutorials and software which allow you to learn tech and science stuff by experimenting, playing and/or interacting.
- π‘ - Account needed.
- π₯οΈ - Software: not online.
- π― - Game: focus on challenges and puzzles, less on explaining.
- A* Algorithm: Introduction to the A* Algorithm
- A* Algorithm: Circular Obstacle Pathfinding
- A* Algorithm: The Explanation & Comparison of Graph Searches
- A* Algorithm, Dijkstra's Algorithm: A* Search and Dijkstra's Algorithm - A Comparative Analysis
- Algorithms: Algorithm Visualizer
- Algorithms: VisuAlgo
- Autoencoders: An Interactive Introduction to Autoencoders
- Binary Heaps: Binary Heaps visualization
- Blockchain: Blockchain Demo
- Bloom Filters: Bloom Filters
- Bloom Filters: Bloom Filters by Example
- Bloom Filters: Bloom Filters
- Cellular Automata: From Cells to Systems
- Compression: Compression Decompressed
- Concurrency: π― The Deadlock Empire
- Digital Signal Processing: A Compact Primer on Digital Signal Processing
- Floating Point: Float Toy
- Floating Point: IEEE 754 Double Precision Floating Point Visualization
- Generative Adversarial Network (GAN): GAN Lab
- Graph Neural Networks (GNN): A Gentle Introduction to Graph Neural Networks
- Graphs: D3 Graph Theory - Learn graph theory interactively
- Graphs: Graphery
- The Halting Problem: The halting problem - An interactive tutorial
- Hamming(7,4): Hamming Game
- K-means Clustering: K-Means Clustering - An Explorable Explainer
- K-means Clustering & DBSCAN: Clustering Comparison
- Kernel Density Estimation: Kernel density estimation
- L-Systems: Lindenmayer systems
- Lexing: Rebuilding Babel: The Tokenizer
- Machine Learning: Machine Learning Crash Course
- Machine Learning: The Learning Machine: Machine Learning
- Machine Learning: Why Some Models Leak Data
- Machine Learning: Datasets Have Worldviews
- Markov Chains: Markov Chains
- Myers Diff Algorithm: Myers Diff Algorithm - Code & Interactive Visualization
- Natural Language Processing (NLP): What Have Language Models Learned?
- Neural Networks: Neural Networks from Scratch
- Neural Networks: Four Experiments in Handwriting with a Neural Network
- Numerical Optimization: An Interactive Tutorial on Numerical Optimization
- Quadtrees: An interactive explanation of quadtrees
- Recursion: Computer Science Circles - Recursion
- Reinforcement Learning: Reinforcement Learning - A Gentle Introduction To Learning From Decisions
- RSA: Public-Key Encryption by RSA Algorithm
- SHA256: Sha256 Algorithm Explained
- Simulated Annealing: Visualizing Simulated Annealing
- Sliding Window: The Sliding Window Pattern
- State Machines (DFAs): π― FiniteStates
- Traveling Salesman: Traveling Salesman Algorithms
- Turing Machines: Turing Machine Visualization
- Virtual Memory: Virtual Memory With 256 Bytes of RAM - Interactive Demo
- Zero Knowledge: π― zk treasure hunt
- Algorithm Wiki
- Conflict Driven Clause Learning
- What is Code?
- Tic-Tac-Toe Bots
- Angular: Intro to Angular
- APL: TryAPL
- Assembly: iRISC
- Assembly (6502): Easy 6502
- Assembly: π― BOX-256
- Assembly: π― Projekt: Overflow - RISC-V assembly board game
- AWK: Basic awk: An interactive introduction to awk and Intermediate awk: An interactive guide to AWK's arrays and loops
- AWK: Data exploration with awk
- Clojure: Try Clojure
- Clojure: Learn Clojure with Shapes
- Clojure: Tetris in ClojureScript
- Digital Logic: Nandgame
- Digital Logic: Arithmetic in Computer Hardware
- Digital Logic: π― Digital Logic Design (The Game)
- Digital Logic: Turing Trains
- Forth: Easy Forth
- Haskell: Try Haskell
- Java/Kotlin: Learn CS Online
- JavaScript: π― Untrusted
- JavaScript: Eloquent JavaScript
- JavaScript: π― Elevator Saga
- JavaScript: π― BitBurner
- JavaSCript: JavaScript DOM Tutorials
- Lambda Calculus: What is Lambda Calculus?
- Lambda Calculus: Mikrokosmos - Programming on the Lambda-calculus
- Lambda Calculus: Lambda Explorer
- Lean: π― Lean Game Server
- Perl: Try Perl - learn the basics of the Perl language in your browser
- Programming, LISP: Structure and Interpretation of Computer Programs - Interactive Version 1
- Programming, Processing: The Nature of Code
- Programming Language Implementation: - How to make interesting little languages 1
- Python: Futurecoder
- Python: π― The Python Challenge
- Python: Inside python dict - an explorable explanation
- Python: Think Python - Devetry Edition
- Python: Inside python dict - an explorable explanation
- React: Intro to React
- Regular Expressions: RegexLearn
- Regular Expressions: π‘ π― Regex Crossword
- Regular Expressions: π― Regex Golf
- Ruby: TryRuby - Learn programming with Ruby
- Ruby: RubyMonk - Interactive Ruby tutorials
- Scala: A Tour of Scala
- Scheme: Interactive overview of Scheme's semantics
- Scheme: (learn 'scheme) - A Complete Environment for Learning Lisp
- SQL: SQLZOO
- SQL: SQLBolt
- SQL: Select Star SQL
- SQL: π― Lost at SQL
- The Lost Ways of Programming: Commodore 64 BASIC
- Bezier Curves: Animated Bezier Curves
- Bezier Curves: A Primer on Bezier Curves
- Bezier Curves: π― The Bezier Game
- Collision Detection: Collision Detection: Circle vs. Box
- Collision Detection: Collision Detection: Circle vs. Line
- Collision Detection: Gilbert-Johnson-Keerthi Distance Algorithm
- Edge Detection: Stepping Into the Filter - Understanding the Edge Detection Algorithms in Your Smartphone
- Colors: An interactive guide to color & contrast
- Image Kernels: Image Kernels
- JPEG: Unraveling the JPEG
- Lerping: Animation Code. Part 1: Lerping
- Misc: Curves and Surfaces
- Noise: Making maps with noise functions
- Pixel Art: 2 Pixel Art Tutorials
- Shaders: The Book of Shaders
- Shaders: Fragment Foundry
- Shaders: A Journey Into Shaders
- Shaders: π₯οΈ π― Shaderoo
- SVG: SVG Tutorial
- SVG: SSSVG: Interactive SVG Reference
- SVG: A Deep Dive Into SVG Path Commands
- Line drawing on a grid
- Circle fill on a grid
- Complex Analysis: Complex analysis - A Visual and Interactive Introduction
- Complex Numbers: Simple Numbers
- Degrees & Radians: https://mathigon.org/course/circles/radians
- Eigenvectors, Eigenvalues: Eigenvectors and Eigenvalues
- Eigenvectors, Eigenvalues: Interactive Visualization of Why Eigenvectors Matter
- Fourier Transforms: An Interactive Introduction to Fourier Transforms
- Fourier Transforms: The Fourier Transform - An Interactive Guide
- Fourth Dimension: Interactive 4D Handbook
- Fractals: Understanding the Mandelbrot Fractal
- Fractals: The Hitchhiker's Guide to the Mandelbrot Set
- Geometry: π― Eeuclidea
- Linear Algebra: Immersive linear algebra
- Linear Algebra: inVectorize
- Linear Algebra: Invitation to Another Dimension
- Linear Algebra: The Learning Machine: Linear Algebra
- Logic: The Incredible Proof Machine
- Matrix: The Matrix Arcade
- Modal Logic: Modal Logic Playground
- PI, Monte Carlo: Mathe Carlo - An exploration and explanation of the Monte Carlo method
- PI, Monte Carlo: Using Monte Carlo to Estimate Pi
- Rotors: Let's remove duaternions from every 3D Engine
- Trigonometry: Trigonometry for Games
- Trigonometry: Sine and Cosine
- Trigonometry: The Etymology of Trig Functions
- Vectors: Basics of Vector Math
- WebGL/GLSL: WebGL & GLS - A Primer
- Mathigon
- Geogebra
- The Natural Number Game
- BASH (shell): π₯οΈ π― Bashcrawl
- Docker: π‘ Play with Docker Classroom
- *Fish shell: Fish shell playground
- Git: π₯οΈ π― Oh My Git!
- Git: Learn Git Branching
- Git: Visualizing Git Concepts with D3
- Git: Git for Beginners
- jq: JSON wrangling with jq
- jq: The Ultimate Interactive JQ Guide
- Linux: π‘ Linuxzoo
- Linux: π― Command Challenge
- Linux, command line: π₯οΈ π― The Command Line Murders
- Linux, filesystem: What is a filesystem?
- Linux, troubleshooting: π― SadServers
- Linux/Unix: π― The Unix Game
- Markdown: Markdown Tutorial
- Markdown: Markdown Tutorial
- PostgreSQL: Postgres Tutorials
- SystemD: SystemD by example
- Vim: Open Vim
- Vim: π― π₯οΈ PacVim
- Vim: π― Vim Racer
- X Window System: Explanations
- CSS: π― CSS Diner
- DNS: Mess with dns
- Email: SPF, DKIM, DMARC: Learn and Test DMARC
- Linux, security: π― OverTheWire
- Networks, Security: π‘ π― Netsim
- Security: π― Web Application Exploits and Defenses
- Security: π― OWASP Juice Shop
- SQL Injection π― SQL-Insekten
- Troubleshooting: π― https://mysteries.wizardzines.com
- Web Design: 2 Web Design in 4 minutes
- XSS: π― XSS Game
- XSS: π― XSS game
- XSS: π― Alert(1) to win
- Web Audio: Web Audio School
- Wizard's Guide to Statistics
- Adventures in Cognitive Biases
- Seeing Theory - A visual introduction to probability and statistics
- Binary Hypothesis Test: Binary Hypothesis Test
- Birthday Paradox: The Birthday Paradox Experiment
- Causal Inference: An Interactive Introduction to Causal Inference
- Conditional Probability: Conditional probability
- Distributions: Probability Distributions
- Gaussian Process: Interactive Gaussian Process Visualization
- Kelly Criterion: The Kelly criterion: How to size bets
- Maximum Likelihood: Understanding Maximum Likelihood - An Interactive Visualization
- Simpson's Paradox: Simpson's paradox
- Standard Error: Standard error of the mean
- T-test: An interactive explanation of the statistical t-test used to compare sample means
- Taxicab Problem: The Taxi-cab Problem
- Complex Sysytems: What is Complexity Science?
- Entropy: Entropy Explained, With Sheep
- GPS: https://ciechanow.ski/gps/
- Special Relativity: Exploring Special Relativity
- Waves: Waves: An Interactive Tutorial
- Waves: Sound: Let's learn about Waveforms
- Explorable Physics
- oPhysics: Interactive Physics Simulations
- Inside Einstein's head - An explorable explanation of relativistic spacetime
- Why Do Astronauts Float in Space?
- Gears
- Game Theory: The Evolution of Trust
- Game Theory: Game Theory
- Politics: District - A puzzle game about gerrymandering & proportional representation
- Politics: Polling: Rock 'n Poll - Polls explained with interactive graphics
- Signal Detection Theory: d'etectable - An Explorable Explanation of Signal Detection Theory
- The Wisdom and/or Madness of Crowds
- Parable of the Polygons - An interactive story about how we divide ourselves, from the bottom up
- Hooked: how pokies are designed to be addictive
- Bits & Bytes: Memory Spy
- Cryptocurrency: 2 How Crypto-currency Works
- Computer Science: Computer Science Field Guide
- Design: Learn the logic of great typography - An interactive type tutorial
- Economics: Supply & Demand - An interactive explainer, from first principles
- Economics: EconGraphs - Intuitive interactive visualizations of key concepts in economics
- Economics: Banking: π― Sim CB - Sim Central Bank, Explanation
- Games: Platformer Toolkit - Interactive video essay on movement in platform games.
- GitHub Actions: GitHub Actions Hero
- Math, Physics, Chemistry, etc: PhET
- Math, Signals Processing, Algorithms: Visualizations on Statistics and Signal Processing
- Math, Physics, Etc: Visualize It
- Math, Physics, Etc: falstad.com
- Misc: Wolfram Demonstrations Project
- Music: How Music Works - Interactive Music Theory Lessons
- Philosphy: History of Philosophy - Summarized & Visualized
- Physics, Statistics: Data Visualizations & Animations
- Prompt Engineering: π― GPT Trick Golf
- Quantum Computing: π― The Cubit Game
- Reverse Engineering: π― Microcorruption - Embedded Security CTF
- Statistics, Signal Processing: Visualizations on Statistics and Signal Processing
- Trusted Platform Module (TPM): TPM-JS