AI-Assisted Programming for PhD Researchers
Helmut Schmidt University — September 2026
A quick test for whether you need a plan at all:
If you can describe the change in one clear sentence, just do it. Everything bigger gets a plan first.
n/a, empty, or -99 become NaNThe Lab 2 spec skeleton — you complete it in the lab:
# Spec: data loading and cleaning
Module: src/pipeline/io.py — load_raw(path), clean(df).
Acceptance criteria:
[ ] three timestamp formats -> one datetime column
[ ] temps unified to °C (temp_unit consulted, then dropped)
[ ] humidity "", "n/a", -99 -> NaN; decimal commas parsed
[ ] wind "calm" -> 0.0; column numeric
[ ] station names stripped of whitespace
[ ] exact duplicate rows dropped; report how many
Out of scope: statistics, plotting, the CLI.Paste this before you describe the task:
Surprisingly effective, and it costs you one extra prompt.
Before you approve, ask three questions:
Does it cover every acceptance criterion? Does it invent scope you never asked for? Does each step end in a check?
In Lab 2 you put planning to work on the cleaning module:
Lecture IV — Planning with AI | Dr. Tobias Vlćek | Home