Course Seven · The Complete Micro-Course

Computer science,
one idea at a time.

The whole introductory computer science canon, rebuilt as 326 numbered videos — each one a single idea, built in the order the ideas depend on each other. Not a coding bootcamp and not a tour of trends: the field itself, from what an algorithm is to why some problems resist computing at all.

326 lessons · 298 atoms · 11 procedures · 17 capstones0 of 326 live

How the course works

Every idea has a number. Every number knows what comes before it.

Computer science is usually taught as two disconnected things: a programming language, and a pile of theory that seems to arrive from nowhere. This course is built the other way. An algorithm comes before a machine that runs it; a machine comes before an operating system that schedules it; all of it comes before the web sitting on top. Nothing appears before the thing it depends on, and every dependency is a number you can follow back.

Three kinds of video: atoms (one definition, mechanism, or distinction, about twenty seconds), procedures (one method, shown step by step — tracing a search, walking an allocation), and capstones (several ideas run together on one real system). Twenty entries exist purely to name a common misconception and sit next to the correct idea, linked in both directions.

The whole map

All 326 videos, in order.

New videos post daily until the course is complete. Live ones link straight to the short; the rest are on their way.

Unit 1

What Computer Science Is

0001 Computer Science Atom Soon
0002 "Computer Science Is Programming" Atom Soon
0003 The Algorithm Atom Soon
0004 "Algorithms Need Computers" Atom Soon
0005 Computing Before Electronics Atom Soon
0006 Halving the Haystack: Binary Search Procedure Soon
0007 The First Programmer Atom Soon
0008 The Four Parts of Hardware Atom Soon
0009 The Internet Atom Soon
0010 Software and the Program Atom Soon
0011 Programs Are Stored Like Data Atom Soon
0012 The General-Purpose Computer Atom Soon
0013 "Old Computers Couldn't Compute It" Atom Soon
0015 Theoretical Computer Science Atom Soon
0017 What Resists Computing Atom Soon
0019 The Digital Divide Atom Soon
0021 Data Science Atom Soon
0022 The Spreadsheet Is a Program Atom Soon
0023 When Spreadsheets End Atom Soon
0024 Machine Learning, Pointed Home Atom Soon
0031 The Y2K Lesson Atom Soon
0033 Technology Encodes Values Atom Soon
0035 One Chapter, Whole Field Capstone Soon
Unit 2

Computational Thinking and Design

0041 Computational Thinking Atom Soon
0042 "Computational Thinking Is for Programmers" Atom Soon
0043 Decomposition Atom Soon
0044 Pattern Recognition Atom Soon
0045 Abstraction Atom Soon
0046 Inductive Reasoning Atom Soon
0047 Deductive Reasoning Atom Soon
0048 The Three As Atom Soon
0049 Testing and Debugging Atom Soon
0050 Pseudocode and the Flowchart Atom Soon
0052 Parallel Execution Atom Soon
0053 "Concurrent Means Parallel" Atom Soon
0055 Recursion Atom Soon
0056 "Recursion Never Ends" Atom Soon
0057 Running a Recursion to the Floor Procedure Soon
0061 Adaptive Design Reuse Atom Soon
0062 The Design Component Atom Soon
0063 The Architectural Pattern Atom Soon
0064 The Heuristic Atom Soon
0065 Layering Atom Soon
0066 Componentization Atom Soon
0067 Business Solution Architecture Atom Soon
0068 The Monolith Atom Soon
0069 Microservices Atom Soon
0070 Model-View-Controller Atom Soon
0076 The Four Architecture Views Atom Soon
0085 Two Directions, One Solution Capstone Soon
Unit 3

Data Structures and Algorithms

0091 The Data Type Atom Soon
0092 Algorithm and Program Atom Soon
0094 The Data Structure Atom Soon
0095 The Abstract Data Type Atom Soon
0096 "The Type Is the Structure" Atom Soon
0097 The List Atom Soon
0098 The Set Atom Soon
0099 The Map Atom Soon
0100 The Priority Queue Atom Soon
0101 The Graph Atom Soon
0103 The Array List Atom Soon
0104 The Linked List Atom Soon
0106 The Tree Atom Soon
0107 The Binary Search Tree Atom Soon
0108 The Balance Problem Atom Soon
0109 The AVL Tree Atom Soon
0110 The Binary Heap Atom Soon
0118 Algorithmic Problem-Solving Atom Soon
0120 The Problem Model Atom Soon
0121 "The Model Is the World" Atom Soon
0123 Time and Space Complexity Atom Soon
0125 Counting Steps Atom Soon
0126 Best Case and Worst Case Atom Soon
0127 The Order of Growth Atom Soon
0128 Big O Notation Atom Soon
0129 "Big O Is a Stopwatch" Atom Soon
0135 Divide and Conquer Atom Soon
0136 Brute Force Atom Soon
0137 The Combinatorial Explosion Atom Soon
0138 The Greedy Method Atom Soon
0139 "Greedy Finds the Best" Atom Soon
0140 The Reduction Atom Soon
0143 Sequential Search, Measured Atom Soon
0144 Binary Search, Measured Atom Soon
0145 Merge Sort, Run to the Floor Procedure Soon
0147 Quicksort Atom Soon
0148 Heapsort Atom Soon
0149 Hashing Atom Soon
0150 Depth-First Search Atom Soon
0151 Breadth-First Search Atom Soon
0152 The Minimum Spanning Tree Atom Soon
0153 The Shortest Path Atom Soon
0158 The Model of Computation Atom Soon
0159 The Turing Machine Atom Soon
0161 The Class P Atom Soon
0162 The Class NP Atom Soon
0163 "NP Means Not Polynomial" Atom Soon
0164 NP-Completeness Atom Soon
0169 From Pin to Pin Capstone Soon
Unit 4

Machines and Low-Level Programs

0171 The Computational Model Atom Soon
0172 Three Kinds of Models Atom Soon
0173 The Hardware Model Atom Soon
0174 The Programming Model Atom Soon
0175 The Abstract Model Atom Soon
0176 The Compiler and the Interpreter Atom Soon
0177 The Church-Turing Thesis Atom Soon
0179 The Level of Abstraction Atom Soon
0180 Performance or Productivity Atom Soon
0181 Machine Code Atom Soon
0182 "The Computer Runs My Code" Atom Soon
0184 Assembly Language Atom Soon
0186 Structured Programming Atom Soon
0187 Procedural Programming Atom Soon
0188 Object-Oriented Programming Atom Soon
0189 Functional Programming Atom Soon
0190 Tracing a Loop to Its Floor Procedure Soon
0193 The C Language Atom Soon
0194 The Pointer Atom Soon
0195 The Data Type's Budget Atom Soon
0196 The Overflow Lesson Atom Soon
0197 Compile, Link, Run Atom Soon
0201 The Core and the Multicore Atom Soon
0202 The GPU Atom Soon
0203 Parallel Programming Atom Soon
0204 Concurrent, Parallel, Distributed Atom Soon
0205 The Shared Memory Model Atom Soon
0206 The Message Passing Model Atom Soon
0209 The Embedded Computer Atom Soon
0210 Rust, Noted Once Atom Soon
0215 One Press, All the Way Down Capstone Soon
Unit 5

Computer Systems

0231 The Computer System Atom Soon
0232 Program and Data Atom Soon
0233 The Bit and the Byte Atom Soon
0234 The Executable Atom Soon
0235 The Abstraction Ladder Atom Soon
0236 The Algorithm's Three Requirements Atom Soon
0238 Bits Need a Declared Type Atom Soon
0239 "The Bits Contain the Meaning" Atom Soon
0240 Positional Notation Atom Soon
0241 The Unsigned Range Atom Soon
0242 The Sign Problem Atom Soon
0243 Two's Complement Atom Soon
0245 One String, Four Readings Procedure Soon
0246 ASCII Atom Soon
0247 Unicode Atom Soon
0248 The Floating Point Atom Soon
0251 The Loader and the Libraries Atom Soon
0252 The Register Atom Soon
0253 Vector Instructions Atom Soon
0256 The Memory Wall Atom Soon
0257 The Memory Hierarchy Atom Soon
0258 The Cache Atom Soon
0259 Main Memory: DRAM Atom Soon
0260 "Memory Keeps It When the Power Dies" Atom Soon
0261 Locality Atom Soon
0263 The Single-Cycle Processor Atom Soon
0264 Pipelining Atom Soon
0265 Moore's Law and Dennard Scaling Atom Soon
0270 One Song, Every Layer Capstone Soon
Unit 6

Operating Systems

0291 The Operating System Atom Soon
0292 The Mediator Atom Soon
0293 "My App Talks to the Hardware" Atom Soon
0294 Isolation Atom Soon
0296 Primary and Secondary Memory Atom Soon
0297 Kernel Mode and the System Call Atom Soon
0298 The OS Components Atom Soon
0301 The Process Atom Soon
0302 The Process Control Block Atom Soon
0303 The Thread Atom Soon
0304 Multitasking and the Time Slice Atom Soon
0305 Scheduling Atom Soon
0306 The Three Process States Atom Soon
0307 The Race Condition Atom Soon
0308 The Semaphore Atom Soon
0309 Round-Robin, Run to the Clock Procedure Soon
0313 Virtual Memory Atom Soon
0314 The Translation Lookaside Buffer Atom Soon
0316 The File Atom Soon
0317 The File System Atom Soon
0318 The Directory Atom Soon
0319 Reliability Atom Soon
0321 The Protection Triad Atom Soon
0322 Authentication Atom Soon
0323 Two-Factor Authentication Atom Soon
0327 The Referee Revealed Capstone Soon
Unit 7

High-Level Programming Languages

0351 The High-Level Language Atom Soon
0352 Cross-Platform Compatibility Atom Soon
0353 Judging a Language Atom Soon
0354 Fortran, the First Compiler Atom Soon
0355 COBOL, the Business Tongue Atom Soon
0356 BASIC to Visual Basic Atom Soon
0357 Pascal and C, the Block Builders Atom Soon
0359 The Primitive Type Atom Soon
0360 The Composite Type Atom Soon
0361 One String, Two Standings Atom Soon
0362 The Variable as Name-Value Pair Atom Soon
0363 The Reference Variable Atom Soon
0364 Strong Typing Atom Soon
0365 Coercion and the Type Cast Atom Soon
0366 "The Cast Is Free" Atom Soon
0367 The Expression Atom Soon
0368 Flow of Control Atom Soon
0369 The Scope Atom Soon
0370 Runtime Error or Exception Atom Soon
0371 The Cast That Dropped Four Bytes Procedure Soon
0373 Encapsulation Atom Soon
0374 Inheritance Atom Soon
0375 Polymorphism Atom Soon
0376 Degrees of Object-Orientation Atom Soon
0377 Concurrency in the Language Atom Soon
0378 The Critical Section Atom Soon
0379 The Scripting Language Atom Soon
0381 Compiler and Interpreter, Contrasted Atom Soon
0382 The Three-Stage Compiler Atom Soon
0383 Bytecode and the Virtual Machine Atom Soon
0384 Just-in-Time Compilation Atom Soon
0389 Choosing the Language, Receipts Attached Capstone Soon
Unit 8

Data Management

0411 Data, Information, Database Atom Soon
0412 Data Management Atom Soon
0413 The Database Management System Atom Soon
0414 The Data Model Atom Soon
0415 The Data Dictionary Atom Soon
0416 Data Quality's Three Tests Atom Soon
0417 The Four Sublanguages Atom Soon
0420 The Relational Model Atom Soon
0421 Keys: Super, Candidate, Primary Atom Soon
0422 The Foreign Key Atom Soon
0423 SQL Atom Soon
0424 The Transaction Atom Soon
0425 ACID Atom Soon
0426 "ACID Costs Nothing" Atom Soon
0427 Normalization Atom Soon
0428 Denormalization Atom Soon
0431 The Nonrelational Database Atom Soon
0432 The Key-Value Store Atom Soon
0433 The Document Store Atom Soon
0434 The Graph Database Atom Soon
0437 The Data Warehouse Atom Soon
0438 Extraction, Transformation, Loading Atom Soon
0439 The Data Mart Atom Soon
0440 The Virtual Data Mart Atom Soon
0441 The Data Lake Atom Soon
0442 Big Data Atom Soon
0443 Learning Tools, Pointed Elsewhere Atom Soon
0445 Splitting the Table Procedure Soon
0449 One Purchase, Fully Accounted Capstone Soon
Unit 9

Software Engineering & Architecture

0471 Software Engineering Atom Soon
0472 The Four Ps Atom Soon
0473 The Team's Roles Atom Soon
0474 The Generic Framework Atom Soon
0475 The Prescriptive Family Atom Soon
0476 The Waterfall Atom Soon
0478 Agility Atom Soon
0479 Scrum's Cast Atom Soon
0480 The Sprint Atom Soon
0481 Review and Retrospective Atom Soon
0484 Refactoring Atom Soon
0485 "Refactoring Rewrites Behavior" Atom Soon
0486 Continuous Integration Atom Soon
0487 DevOps Atom Soon
0488 Testing's Purpose Atom Soon
0489 The Testing Ladder Atom Soon
0490 Acceptance and Friends Atom Soon
0491 The Regression Suite Atom Soon
0492 Free and Open-Source Software Atom Soon
0493 "Free Means Gratis" Atom Soon
0495 The Pattern Atom Soon
0496 The Pattern Hierarchy Atom Soon
0497 The Enterprise Architecture Framework Atom Soon
0498 The Blueprint Atom Soon
0500 One Story, One Sprint Procedure Soon
0505 The Build, End to End Capstone Soon
Unit 10

Web & Cloud

0541 The Web's Founding Move Atom Soon
0542 Request and Response Atom Soon
0543 HTTPS Atom Soon
0544 Web 1.0, Then 2.0 Atom Soon
0545 AJAX Atom Soon
0546 The Single-Page Application Atom Soon
0547 Web 3.0 and the Distributed Ledger Atom Soon
0549 Native, Web, Hybrid Atom Soon
0552 The Cloud Atom Soon
0553 Cloud-Native's Four Principles Atom Soon
0554 The Container Atom Soon
0555 Container Orchestration Atom Soon
0556 Cloud-Based or Cloud-Native Atom Soon
0559 The Three Service Models Atom Soon
0560 Infrastructure as a Service Atom Soon
0561 Platform as a Service Atom Soon
0562 Software as a Service Atom Soon
0563 Bare Metal to Serverless Atom Soon
0564 The Four Deployment Models Atom Soon
0565 The Hybrid Cloud Atom Soon
0566 The Multicloud Atom Soon
0568 Intelligence, Pointed Home Atom Soon
0570 One Tap, Round Trip Procedure Soon
0575 The App Ascends Capstone Soon
Unit 11

Security & Governance

0611 The Cyber Resource Atom Soon
0612 The Six Qualities Atom Soon
0613 The Security Policy's Assets Atom Soon
0614 Personally Identifiable Information Atom Soon
0615 Nonrepudiation Atom Soon
0618 Malware Atom Soon
0619 Virus and Worm Atom Soon
0620 "Every Infection Is a Virus" Atom Soon
0621 Rootkit and Backdoor Atom Soon
0622 The Trojan Horse Atom Soon
0623 The Botnet Atom Soon
0624 Ransomware Atom Soon
0625 The Insider Threat Atom Soon
0626 Phishing Atom Soon
0627 The Distributed Denial of Service Atom Soon
0628 The Advanced Persistent Threat Atom Soon
0629 How Malware Gets In Atom Soon
0632 Cryptography's Cast Atom Soon
0633 The Substitution Cipher Atom Soon
0634 The Transposition Cipher Atom Soon
0635 Public and Private Keys Atom Soon
0636 Responsible Computing Atom Soon
0640 One Word, Enciphered Procedure Soon
0645 The App Under Attack Capstone Soon
Unit 12

Course Capstones

0671 One Slow App, Every Layer Capstone Soon
0675 The Tradeoff Ledger Capstone Soon
0680 Abstraction, the Course's One Idea Capstone Soon
0685 The Misconception Museum Capstone Soon
0690 The App, Complete Capstone Soon
0695 What Computer Science Is, Answered Capstone Soon

The receipts

Check my work.

Behind the course sits a reference document in which every definition and mechanism is traced to its source. The anchor is an openly licensed university text — OpenStax’s Introduction to Computer Science — read against an independent second text so that where the two differ, the difference is noted rather than smoothed over. Every worked claim is verified and logged before its video is made.

This is outside my own teaching fields — philosophy, logic, and ethics — so the sourcing carries more of the weight than the résumé does. That is the point of publishing it. Spot an error? Tell me the video number and the claim — corrections get made in the open.

Follow along

New videos daily.

The course releases in order on YouTube — one idea at a time until all 326 are live. Subscribe to catch each one, or leave your email for an occasional note when a course finishes.