M01-02 · AI-Assisted Software Development

Software Engineering Practice — Debugging, Testing, and Code Review

AI-Assisted Software Development →

Teaches the core engineering practices that make a developer effective on a team: reading unfamiliar codebases, systematic debugging, writing and running tests, and participating in code review. Students learn to trace requests through a full-stack application, find root causes methodically, write tests that prevent regressions, and give and receive constructive code review — the skills that fill the first 30-60 days at any development job.

40 Hours
9 Learning objectives
Create Bloom's ceiling (?)
5 Competencies

Learning Objectives

Objectives

Depth
  • Navigate an unfamiliar codebase using git log, git blame, IDE search, and AI-assisted exploration to build a mental model of architecture and conventions Apply
  • Reproduce, isolate, and diagnose bugs systematically: read error messages, form hypotheses, use browser DevTools and logging, and trace requests through frontend, API, and database layers Analyze
  • Write unit, integration, and end-to-end tests using modern test frameworks (Jest/Vitest/Pytest), achieving meaningful coverage of critical paths Apply
  • Identify and fix common bug categories: timezone issues, state management bugs (stale closures, missing dependencies), race conditions, N+1 queries, and missing input validation Analyze
  • Open pull requests with clear descriptions, linked tickets, screenshots for visual changes, and appropriate scope (one logical change per PR) Apply
  • Review other developers' pull requests: identify missing error handling, untested paths, naming clarity issues, and convention violations Evaluate
  • Address code review feedback professionally: distinguish style preferences from correctness issues, ask clarifying questions, and iterate without defensiveness Apply
  • Use AI tools strategically for debugging (generating hypotheses, explaining unfamiliar code) while verifying AI suggestions against actual codebase behavior Evaluate
  • Write regression tests that specifically target the root cause of fixed bugs to prevent recurrence Create

Levels: Remember · Understand · Apply · Analyze · Evaluate · Create — highest demands most original thinking.

What You'll Master

Codebase Navigation

Reading unfamiliar code using git history, blame, search, PR review, and AI-assisted exploration.

Systematic Debugging

Reproducing issues, hypothesis-driven root cause analysis, using DevTools, logging, and database inspection.

Test Engineering

Writing meaningful tests at unit, integration, and e2e levels; understanding test infrastructure and flaky test management.

Code Review Practice

Reviewing others' code for correctness, readability, and convention adherence; responding to review feedback constructively.

Git Workflow

Branching strategies, commit hygiene, PR creation, merge conflict resolution.

What You'll Build

Bug Hunt Case Study — Student receives a codebase with 5-7 planted bugs across the stack (frontend state bug, API validation gap, database query performance issue, race condition, timezone error). They document the full debugging process for each: reproduction steps, hypotheses tested, root cause analysis, fix implementation, and regression test written. Includes 2 code reviews of peers' work with actionable feedback.

Industry Tools, Not Toy Projects

Git & GitHub

Version control, pull requests, blame, and code review workflows for team-based development.

VS Code / Cursor

Professional code editors with integrated debugging, search, and AI-assisted code exploration.

Jest / Vitest

Modern JavaScript test frameworks for unit, integration, and end-to-end testing.

Browser DevTools

Chrome/Firefox developer tools for inspecting network requests, debugging JavaScript, and profiling performance.

React DevTools

Browser extension for inspecting React component trees, state, props, and re-render behavior.

Postman / curl

API testing tools for sending requests, inspecting responses, and debugging backend endpoints.

PostgreSQL

Relational database with CLI and GUI tools (TablePlus) for inspecting data and debugging queries.

Claude Code & GitHub Copilot

AI coding assistants for generating debugging hypotheses, explaining unfamiliar code, and accelerating test writing.

Prerequisites

Ready to start learning?

Take the free AI-guided assessment. We'll build your personalized path through the Foundations and your chosen major.

Start Your Assessment
Free · 15 minutes · No credit card