Module 0 — Orientation & mental models
Estimated: ½ week · Syllabus · Next → Module 1
Concepts
Section titled “Concepts”- What software engineering is beyond coding: managing complexity over time, across people, under change. Coding is writing instructions; engineering is keeping those instructions correct, understandable, and modifiable as requirements shift and the codebase grows. The enemy is complexity, and most practices exist to fight it.
- Essential vs. accidental complexity (Fred Brooks, No Silver Bullet). Essential complexity is inherent to the problem; accidental complexity is what we add through poor tools, structure, or choices. Nearly every practice in this course targets accidental complexity.
- The cost curve of change. Bugs and design flaws get exponentially more expensive to fix the later they’re caught — cheap in a spec, moderate in review, expensive in production. This single fact justifies planning, testing, and review.
Practice
Section titled “Practice”Set up your two dev environments deliberately. Note what VS Code + Claude does well vs. Antigravity, since you’ll use both. Create a scratch repo just to practice the mechanics without stakes.
Milestone
Section titled “Milestone”☐ A one-page written answer to: “What makes code good beyond ‘it works’?” Revisit and revise it at the end of the course — the delta is your learning.
Write it as
notes/00-what-makes-code-good.md. Do not revise that file in place at the end of the course — write a second file and diff them. The delta is the point.
(working notes go here)