
Master the four pillars of computational thinking (decomposition, pattern recognition, abstraction, and algorithm design) through real engineering scenarios like system design, production debugging, and technical decision-making. You'll learn to model systems using graphs, state machines, sets, and recursion, and develop systematic approaches to problem framing, estimation, and tradeoff analysis. This is not an algorithms course; it's a thinking course that gives you structured frameworks to cut through ambiguity and make better engineering decisions faster.
The CT Framework: Four Pillars of Computational Thinking
What are the four pillars of computational thinking, and how do they differ from...
The two primary approaches to decomposition are top-down (starting with the big ...
A senior engineer notices that three different microservices all implement nearl...
Modeling Systems: Graphs, State Machines, Sets, and Recursion
Interactive: State Machine Builder
Interactive: Topological Sort Simulator
When should you model a system as a **graph** versus a **state machine**?
A topological sort on a Directed Acyclic Graph gives a valid execution order for...
You need to model a Role-Based Access Control (RBAC) system where users have mul...
Discuss: Choosing the Right Model for a System
Systematic Problem Solving in Practice
What is the difference between the **presented problem** and the **actual proble...
In divide and conquer system design, horizontal partitioning splits by data (sha...
A team is debating two approaches for a task scheduler: a greedy algorithm that ...
Which of the following are valid reasons to AVOID dividing a system into microse...
Debugging, Estimation & Tradeoff Analysis
Interactive: Infrastructure Estimation Calculator
How does **binary search on the bug space** work in structured debugging?
Key latency numbers: an L1 cache reference takes 0.5 ns, a main memory reference...
An engineer is debugging a production outage. They check the most recent deploy,...
Discuss: Debugging a Production Incident
CT at Scale: Teams, Decisions, and Complexity
What is the difference between **technical debt** and **complexity debt**, and w...
According to the automation ROI framework, which of the following tasks are MOST...
Discuss: Applying CT to a System Design Challenge
Showing course outline. Copy to your collection to start learning.