CEN 5016 · Fall 2026 · Midterm

Midterm Review Studio

Eight short modules, one per exam topic. Each one has something to press, drag, or decide, and a quick check at the end. Finish with the practice quiz. Nothing here is graded; it is just for you.

0 of 8 modules explored

Software Archeology & Anthropology

Week 1

The hypothesis loop

Understanding code is an experiment. Step through one iteration.

Hypothesis"the cache…" Probe Runbuild · test Observe Model ✓
Start with a guess about how the code works. You will be wrong, and that is the point.

Static or dynamic?

Click a technique, then the kind of information gathering it is.

Static (read it)

Dynamic (run it)

Static analysis reasons about code without running it. Dynamic gathering observes actual executions.

Order the onboarding steps

Click the steps in the order the lecture recommends for a brand-new codebase.

    Sanity check first: can you build it and run it (ideally the tests) before you form any theory?

    Measurement & Metrics

    Week 2

    Validity vs. reliability

    Pick a case and watch where the measurements land. The bullseye is the thing you actually care about.

    A metric can be perfectly repeatable and still measure the wrong thing. Lines of code is the classic example.

    Goodhart's law simulator

    "When a measure becomes a target, it ceases to be a good measure." Push the team to hit a coverage target and watch what the tests become.

    Line coverage
    62%
    Bugs caught per sprint
    9
    // newest tests added by the team
    Coverage is easy to measure and easy to game. The number went up; the thing you cared about went down. That is the McNamara fallacy meeting Goodhart's law.

    Name that trap

    Click a term, then the situation that illustrates it.

    Project Planning & Agile

    Week 3

    One sprint, animated

    Press play and follow a story from the product backlog to a shippable increment.

    Productbacklog Sprintplanning Sprintbacklog Sprint1–4 weeks Review +retrospective Increment ✓ daily scrum ×10 story
    The product backlog holds every feature the product might get. Only what the team commits to for this sprint moves into the sprint backlog.

    INVEST checker

    Which criteria does this story break? Select all that apply, then check.

    Software Teams & Communication

    Weeks 3–4

    Tuckman's curve

    Click a stage to see what it looks like and what the team should do about it.

    time →performance ↑ Forming Storming Norming Performing
    Every team goes through these. The storming dip is normal; a team contract and explicit norms are how you climb out of it.

    Fix this issue

    Someone filed the issue below. Add the missing pieces and watch it become something a teammate can act on.

    How actionable is it?
    "The app is broken pls fix" tells a teammate nothing: not where, not what happened, not what should have happened.

    Software Testing

    Week 4

    Coverage is not correctness

    Toggle tests on and off and watch which lines and branches they execute. Then inject a bug and see which tests actually notice.

    
          
    Statement coverage
    0%
    Branch coverage
    0%
    Turn on tests to see what they execute. A line is covered if any test reaches it; a branch is covered if both its true and false sides run.

    Red, green, refactor

    Test-driven development in three beats. Never write code without a failing test that needs it.

    Red Green Refactor
    Red. Write a test for behavior that does not exist yet. Run it. It fails. If it passes, the test is not testing anything new.

    Pick the oracle

    For each situation, which mechanism tells you the program misbehaved?

    Software Architecture

    Week 5

    Architectural styles in motion

    Each style is a different answer to "how do the parts talk?" Pick one and watch the data move.

    Which style fits?

    A scenario, five styles. Choose the best fit.

    Static & Dynamic Analysis

    Week 5

    The soundness dial

    Forty code locations, eight real bugs. Turn the analysis from cautious to aggressive and watch what it reports.

    0
    real bugs found
    0
    false alarms
    0
    bugs missed

    Which tool reported this?

    Click a finding, then the class of tool that produces it.

    Linter

    Pattern-based

    Type-based checker

    Dynamic analysis

    Linters look at syntax and style. Pattern-based tools match known bug shapes. Type-based checkers prove properties with annotations. Dynamic tools watch a real run.

    Agentic Software Engineering

    Week 6

    The agent loop and its context window

    Step through an agent fixing a bug. Watch what enters the context window, and what /clear does to it.

    Context window used
    The window starts with the harness's system prompt, the tool definitions, and your project's CLAUDE.md. Then comes your request.

    The delegation map

    Click a task, then the quadrant it belongs in. Axes: how long until a wrong answer surfaces, and what it costs if it slips through.

    Delegate freely

    fast to catch · cheap

    Delegate with tests

    fast to catch · costly

    Delegate, then review hard

    slow to catch · cheap

    Keep for yourself

    slow to catch · costly
    The two questions: how fast would a mistake surface, and what would it cost? Boilerplate fails loudly and cheaply. Auth logic fails quietly and expensively.

    Spot the failure pattern

    An agent opened this pull request to make CI green. What did it actually do?

    Prompt injection, with and without least privilege

    Step through an attack on an agent that reads an untrusted issue. Then flip the harness configuration and run it again.

    The agent is asked to triage open issues. One of them was written by an attacker.

    Levels of confidence in code

    Click a rung. Benchmarks and most agents stop at "tests pass". Your job is the top two.

    Practice Quiz

    All topics

    The real exam has multiple-choice questions on the concepts from lecture and multi-part short-answer scenarios. These are in the same style, not the same questions. Multiple choice gives instant feedback; for the scenarios, write your answer first, then reveal the outline and compare.

    Multiple choice

    Score: 0

    Short-answer scenarios

    Each scenario has several parts, like the exam. Answer each part in a short paragraph of three to five sentences, naming the concepts from class that apply, then reveal the outline and compare.