202 questions from 35 modules. This catalogue is the authoritative one for SYP year 3 from the school year 2026/27 on; the existing question catalogue stays online as an archive.

All questions

Click a column heading to sort, use the drop-downs to filter. The attributes come from curriculum.yaml, not from the text of the question.

Lesson Topic Question Learning outcomes
L1Setting up the learning environmentWhich checks happen before the partition table is touched, and why each one?lo-1
L1Setting up the learning environmentWhy not WSL2?lo-2
L1Setting up the learning environmentWhat does idempotent mean, and why is it required here?lo-3, lo-4
L1Setting up the learning environmentWhy are tool installation and identity setup separate scripts?lo-3
L1Setting up the learning environmentYour setup run aborted halfway. What do you do?lo-4
L2What makes a project a projectWhich criteria make a piece of work a project? Give an example that fails onelo-1
L2What makes a project a projectWhat belongs in an initial situation, and what does not?lo-2
L2What makes a project a projectName the three constraints and explain which one moves in a school yearlo-3
L2What makes a project a projectWhere does the initial situation live in the project repository, and why there?lo-2
L3Generating ideas with structured techniquesWhy are generating and selecting ideas kept apart?lo-1
L3Generating ideas with structured techniquesDescribe the 6-3-5 procedure and say what it produceslo-2
L3Generating ideas with structured techniquesName the six techniques and the situation each one suitslo-3
L3Generating ideas with structured techniquesBuild a morphological box for a small problem and read a solution out of itlo-4
L3Generating ideas with structured techniquesHow do Bionik and the Delphi method differ from the intuitive techniques?lo-5
L3Generating ideas with structured techniquesWhy is "ask an agent for fifty ideas" not a replacement?lo-1, lo-3
L4Choosing a project with weighted scoringDescribe the four steps of a weighted scoringlo-1
L4Choosing a project with weighted scoringWhat makes a criterion useful, and what makes one useless?lo-2
L4Choosing a project with weighted scoringTwo alternatives end 745 to 738. What does that mean?lo-3
L4Choosing a project with weighted scoringHow can a weighted scoring be manipulated, and what prevents it?lo-4
L4Choosing a project with weighted scoringWhy is the result written into the project proposal at all?lo-1, lo-3
L5Stakeholders and verifiable project goalsWhat is a stakeholder, and how do internal and external ones differ?lo-1
L5Stakeholders and verifiable project goalsTurn "the app should be fast" into a verifiable goallo-2
L5Stakeholders and verifiable project goalsWhy does a charter contain non-goals?lo-3
L5Stakeholders and verifiable project goalsWhy is "we implement a REST API" a bad goal?lo-2, lo-3
L5Stakeholders and verifiable project goalsIn which three dimensions is a project goal stated, and what is an Ergebnisziel?lo-4
L5Stakeholders and verifiable project goalsWhich four questions do you ask before writing a goal down?lo-5
L5Stakeholders and verifiable project goalsWhat is Zielkonkurrenz, and what do you do about it?lo-6
L6Eliciting requirements from people and documentsName the four elicitation techniques, what each delivers and what it costslo-1
L6Eliciting requirements from people and documentsHow do you prepare and conduct an interview so the answers are usable?lo-2
L6Eliciting requirements from people and documentsWhat does a document analysis deliver that no interview can, and how do you run one?lo-3
L6Eliciting requirements from people and documentsIn which order do you use the techniques, and why that order?lo-4
L6Eliciting requirements from people and documentsTwo techniques for two situations, each with a justificationlo-4
L6Eliciting requirements from people and documentsWhat must elicitation produce before it counts as finished?lo-5
L7Structure of the project application and charterName the fields of the project application and what belongs in eachlo-1
L7Structure of the project application and charterWhat is the difference between Projektantrag and Projektauftrag?lo-2
L7Structure of the project application and charterWhat does "frozen" mean, and what would go wrong without it?lo-3
L7Structure of the project application and charterGive the German terms for research objective, planned deliverable and effort estimatelo-4
L7Structure of the project application and charterWhy is "work on the frontend" not a milestone?lo-1, lo-3
L8Process models as three tempos of one patternWhat is the invariant pattern behind every process model?lo-1
L8Process models as three tempos of one patternPlace waterfall, Scrum and SDD by tempo and say what follows from eachlo-2
L8Process models as three tempos of one patternWhy does the choice of process model not affect the charter?lo-3
L8Process models as three tempos of one patternWhere has the uncertainty moved, now that code is cheap to produce?lo-1, lo-2
L8Process models as three tempos of one patternWhen would you still choose a long loop?lo-4
L9Why specifications instead of a requirements documentWhat is a specification, and how does it differ from a requirements document?lo-1
L9Why specifications instead of a requirements documentWhat are Lastenheft and Pflichtenheft, who writes each, and what is in them?lo-5
L9Why specifications instead of a requirements documentWhich chapters does a Pflichtenheft have, and what is the Kriterienkatalog for?lo-6
L9Why specifications instead of a requirements documentWrite a requirement with a scenario for "sessions have a capacity limit"lo-2
L9Why specifications instead of a requirements documentWhy did precise statements of intent become the scarce resource?lo-3
L9Why specifications instead of a requirements documentWhat is frozen, what is alive, and why do you need both?lo-4
L9Why specifications instead of a requirements documentWhy is "the service uses a repository class" a bad requirement?lo-1, lo-2
L10From project charter to specificationsMap the charter fields onto their artefactslo-1
L10From project charter to specificationsTurn a charter objective into a requirement with a scenariolo-2
L10From project charter to specificationsWhy is "change archived by date" a better milestone than a status report?lo-3
L10From project charter to specificationsHow is individual responsibility visible without a separate document?lo-4
L10From project charter to specificationsWhat goes wrong if you copy the charter text into the specs?lo-1, lo-2
L11What software engineering isWhat distinguishes software engineering from programming?lo-1
L11What software engineering isName the forces that make software hard, with one example eachlo-2
L11What software engineering isWhich practice answers which force? Give two pairslo-2
L11What software engineering isWhat did cheap code production change, and what did it not?lo-3
L11What software engineering isWhy is "engineering is obsolete now" the wrong conclusion?lo-3
L12The artefacts of spec-driven developmentWhich artefacts does a change carry, and what does each answer?lo-1
L12The artefacts of spec-driven developmentWhat is the difference between the target state and the delta?lo-2
L12The artefacts of spec-driven developmentWrite a requirement with a scenario, and say what makes it checkable.lo-3
L12The artefacts of spec-driven developmentWhen does a change need a design document?lo-4
L12The artefacts of spec-driven developmentWhat must a task contain to be usable?lo-5
L12The artefacts of spec-driven developmentWhy is the proposal separate from the specification?lo-1, lo-2
L13The life cycle of a changeName the states of a change and the condition for each transition.lo-1
L13The life cycle of a changeWhat does archiving do, and why is it the point of the loop?lo-2
L13The life cycle of a changeA change turns out to be wrong. What do you do?lo-3
L13The life cycle of a changeAlong which line do you split a change that is too large?lo-4
L13The life cycle of a changeWhat can you read off a project's `changes/` and `archive/` folders?lo-5
L13The life cycle of a changeWhy must `specs/` never be edited directly?lo-2, lo-1
L14Reading project progress from changesWhy is "we are 90 % done" not a progress measure?lo-1
L14Reading project progress from changesHow do you derive progress from archived changes?lo-2
L14Reading project progress from changesWhat does a team's working rhythm predict?lo-3
L14Reading project progress from changesWhat can the repository not show, and how is that covered?lo-4
L14Reading project progress from changesHow is individual responsibility shown without a separate report?lo-5
L14Reading project progress from changesWhy does an unarchived change count as not done?lo-2, lo-1
L15The living target state replaces the requirements documentWhy does a requirements document go stale, and why does a target state not?lo-1
L15The living target state replaces the requirements documentIf the target state may change, what stops a team from redefining success?lo-2
L15The living target state replaces the requirements documentTrace one requirement from elicitation to verification.lo-3
L15The living target state replaces the requirements documentWhere does a given sentence belong — charter, target state or change?lo-4
L15The living target state replaces the requirements documentWhat replaces the signed requirements document at acceptance?lo-5
L15The living target state replaces the requirements documentWhy must a Pflichtenheft and a target state not be maintained side by side?lo-1, lo-4
L16Estimation hygiene instead of estimation methodsWhy are software estimates systematically too low?lo-1
L16Estimation hygiene instead of estimation methodsHow should an estimate be phrased?lo-2
L16Estimation hygiene instead of estimation methodsHow do you forecast with your own measured throughput?lo-3
L16Estimation hygiene instead of estimation methodsWhat is the difference between an estimate and a commitment?lo-4
L16Estimation hygiene instead of estimation methodsWhen do you re-estimate, and what do you record afterwards?lo-5
L16Estimation hygiene instead of estimation methodsSomebody asks you to lower your estimate. What do you do?lo-4, lo-2
L17Planning milestones that can be verifiedWhat is the difference between a milestone, a phase, a task and a deadline?lo-1
L17Planning milestones that can be verifiedHow do you write a milestone that somebody else can check?lo-2
L17Planning milestones that can be verifiedWhere in the year do milestones belong?lo-3
L17Planning milestones that can be verifiedWhat does a milestone trend chart show that a status report cannot?lo-4
L17Planning milestones that can be verifiedA milestone is missed. What are the legitimate responses?lo-5
L17Planning milestones that can be verifiedWhy does "the implementation phase is complete" fail as a milestone?lo-1, lo-2
L18Acceptance and handoverWhat is acceptance, and what changes at that moment?lo-1
L18Acceptance and handoverWhy are acceptance criteria written at the start?lo-2
L18Acceptance and handoverHow is an acceptance session run?lo-3
L18Acceptance and handoverWhat is the difference between acceptance with defects and refusal?lo-4
L18Acceptance and handoverWhat must a handover contain?lo-5
L18Acceptance and handoverWhy must the team not operate the system during acceptance?lo-3, lo-1
L2Repository, commit, historyName the three states of a file in git and the commands that move itlo-2
L2Repository, commit, historyWhat does a commit contain, and why is it a state rather than a diff?lo-1, lo-2, lo-7
L2Repository, commit, historyWhat makes a commit message useful? Give a bad and a good examplelo-3
L2Repository, commit, historyName five commit types and say what each is forlo-3
L2Repository, commit, historyWhich files must not be committed, and why does deleting them later not help?lo-4
L2Repository, commit, historyHow do you read what changed in a specific commit?lo-1
L2Repository, commit, historyWhere does the network start in the git picture, and what follows from that?lo-5
L2Repository, commit, historyWhat is the difference between a centralized and a distributed VCS, and what does the distributed one make possible?lo-6
L2Repository, commit, historyYou commit three times, and the third commit deletes a file. What is in the repository afterwards?lo-7
L3Branching and mergingWhat is a branch technically, and why is creating one cheap?lo-2
L3Branching and mergingWhen do you get a fast-forward and when a merge commit?lo-3
L3Branching and mergingShow the commands for creating, merging and deleting a branchlo-1
L3Branching and mergingWhich branching rules apply in this course, and why each?lo-4
L3Branching and mergingYou deleted a branch by mistake. Is the work gone?lo-2, lo-4
L3Branching and mergingWhat is a detached HEAD, how do you get into one, and why is committing there dangerous?lo-5
L4Pull requests and reviewWhat does a pull request add that a local merge does not?lo-3
L4Pull requests and reviewWhen do you need a fork, and when is a branch enough?lo-5
L4Pull requests and reviewWalk through opening a pull request from a forklo-5, lo-1
L4Pull requests and reviewWhich three questions does a pull request description answer?lo-1
L4Pull requests and reviewWhat makes a review comment useful? Give an example of each kindlo-2
L4Pull requests and reviewWhich rules apply to pull requests in this course?lo-4
L4Pull requests and reviewWhy is a two-thousand-line pull request a problem?lo-1, lo-4
L5Conflicts and remote repositoriesWhat is `origin/main`, and how does it differ from the remote's `main`?lo-1
L5Conflicts and remote repositoriesWhen does a conflict occur, and why does git not resolve it itself?lo-3
L5Conflicts and remote repositoriesWalk through resolving a conflictlo-2
L5Conflicts and remote repositoriesYour push is rejected with "fetch first". What happened, what do you do?lo-4
L5Conflicts and remote repositoriesYou committed to `main` by mistake. How do you fix it?lo-4
L6Documentation as text with AsciiDocWhy is documentation kept as text in the repository?lo-4
L6Documentation as text with AsciiDocShow the AsciiDoc markup for a section, a table, a code block and a warninglo-1
L6Documentation as text with AsciiDocHow do you convert the document, and why through a container?lo-2
L6Documentation as text with AsciiDocWhy are diagrams kept as PlantUML source rather than as images?lo-3
L6Documentation as text with AsciiDocWhat must accompany every image in this course?lo-3, lo-4
L7From push to published pageDescribe the four parts of the smallest useful pipelinelo-1
L7From push to published pageWhy does CI run the same script as the local build?lo-1, lo-3
L7From push to published pageWhat does the neutral build environment settle?lo-3
L7From push to published pageA run is red. How do you find the cause?lo-2
L7From push to published pageHow does the site get published, and what happens on a red build?lo-4
L8Working with AI agents, first stepsWhat does a language model do, and what follows for its reliability?lo-1
L8Working with AI agents, first stepsWhich three ingredients make a task formulation checkable?lo-2
L8Working with AI agents, first stepsName four failure modes and how you would notice eachlo-3
L8Working with AI agents, first stepsWhat may you hand to an agent, and what must stay out?lo-4
L8Working with AI agents, first stepsWhy is a large single prompt worse than several small ones?lo-2, lo-3
L9Providing context and continuing across sessionsWhat belongs in the context for a task, and what only adds noise?lo-1
L9Providing context and continuing across sessionsWhat happens when the context window fills up?lo-3
L9Providing context and continuing across sessionsWhich four parts does a continuation prompt have?lo-2
L9Providing context and continuing across sessionsWhy does project knowledge belong in the repository and not in a chat?lo-4
L9Providing context and continuing across sessionsWhat is wrong with a continuation note that lists what you did?lo-2
L10Running a change end to endWalk through the loop from proposal to archivelo-1
L10Running a change end to endWhat does each artefact answer?lo-2
L10Running a change end to endWhen do you write a design document?lo-3
L10Running a change end to endHow do you notice that a change is too large, and what do you do?lo-4
L10Running a change end to endWhy archive continuously instead of at the end of the year?lo-1, lo-4
L11Shaping the agent's working environmentWhat is a harness, and which of its parts can you change?lo-1
L11Shaping the agent's working environmentWhat belongs in a project instruction file, and what does not?lo-2
L11Shaping the agent's working environmentHow do you decide which commands an agent may run without asking?lo-3
L11Shaping the agent's working environmentA result is wrong. How do you tell whether the model or the harness failed?lo-4
L11Shaping the agent's working environmentWhy is the harness kept in version control, and what must never be in it?lo-5
L11Shaping the agent's working environmentYou keep telling the agent the same thing every session. What do you do?lo-2, lo-5
L12Repeating workflows and stop conditionsDescribe the agentic loop. Which part of it is your responsibility?lo-1
L12Repeating workflows and stop conditionsWhat makes a stop condition usable?lo-2
L12Repeating workflows and stop conditionsHow do you recognise a loop that is not converging?lo-3
L12Repeating workflows and stop conditionsWhat kind of work can an agent do unattended in a loop?lo-4
L12Repeating workflows and stop conditionsWhich work is safe to run unattended, and what precautions apply?lo-5
L12Repeating workflows and stop conditionsWhy does "keep going until the code is good" fail as an instruction?lo-2, lo-3
L13First milestone reviewWhat is presented at a milestone review, and what is not?lo-1
L13First milestone reviewWhat counts as evidence, and what is only an assertion?lo-2
L13First milestone reviewHow do you review another team's repository?lo-3
L13First milestone reviewWhat makes a review comment usable?lo-4
L13First milestone reviewWhat happens to the findings after the review?lo-5
L13First milestone reviewHow do you prepare for a milestone review, and why does it take forty minutes?lo-1, lo-5
L14What containers solveWhich problem do containers solve?lo-1
L14What containers solveDistinguish image, container and registry.lo-2
L14What containers solveWhich commands run, inspect and clean up a container?lo-3
L14What containers solveWhy is a container not a virtual machine?lo-4
L14What containers solveWhen is a container the wrong tool?lo-5
L14What containers solveWhy does editing files inside a running container not fix anything?lo-2, lo-3
L15Building an image from a descriptionWrite a Dockerfile for a small application and explain each instruction.lo-1
L15Building an image from a descriptionHow does the layer cache work, and how do you order instructions for it?lo-2
L15Building an image from a descriptionWhat does a multi-stage build achieve?lo-3
L15Building an image from a descriptionWhich security rules apply to an image others will run?lo-4
L15Building an image from a descriptionHow do you tag and publish an image so somebody else can reproduce your run?lo-5
L15Building an image from a descriptionWhy is `COPY . .` early in a Dockerfile usually a mistake?lo-2, lo-4
L16Data and configuration outside the containerWhy must data and configuration live outside the image?lo-1
L16Data and configuration outside the containerNamed volume or bind mount?lo-2
L16Data and configuration outside the containerHow does configuration reach a container?lo-3
L16Data and configuration outside the containerWhere must a secret never be, and where does it go instead?lo-4
L16Data and configuration outside the containerHow do you back up and restore the data of a containerised service?lo-5
L16Data and configuration outside the containerA team keeps three images — dev, test and prod. What is wrong?lo-1, lo-3
L17Images for more than one processor architectureWhy might an image built on one machine not run on another?lo-1
L17Images for more than one processor architectureHow do you recognise an architecture mismatch?lo-2
L17Images for more than one processor architectureHow do you build and publish a multi-architecture image?lo-3
L17Images for more than one processor architectureWhat is an image index and how is the right variant chosen?lo-4
L17Images for more than one processor architectureWhen is a multi-architecture build worth its cost?lo-5
L17Images for more than one processor architectureWhy can `buildx build --platform amd64,arm64 --load` never work?lo-3, lo-4
L18Second milestone reviewHow does the second review differ from the first?lo-1
L18Second milestone reviewWhat does a forecast at this review consist of?lo-2
L18Second milestone reviewWhy must a deployed end-to-end slice be shown at this review?lo-3
L18Second milestone reviewThe forecast does not fit the deadline. What do you bring to the review?lo-4
L18Second milestone reviewWhat do you look for when reviewing another team at this stage?lo-5
L18Second milestone review"We are aware of that finding." Why is that not an answer?lo-1

Project governance

L18 Acceptance and handover

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 5 topic: governance-acceptance

  1. What is acceptance, and what changes at that moment? (lo-1)

  2. Why are acceptance criteria written at the start? (lo-2)

  3. How is an acceptance session run? (lo-3)

  4. What is the difference between acceptance with defects and refusal? (lo-4)

  5. What must a handover contain? (lo-5)

  6. Why must the team not operate the system during acceptance? (lo-3, lo-1)

L16 Estimation hygiene instead of estimation methods

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 5 topic: governance-estimation-hygiene

  1. Why are software estimates systematically too low? (lo-1)

  2. How should an estimate be phrased? (lo-2)

  3. How do you forecast with your own measured throughput? (lo-3)

  4. What is the difference between an estimate and a commitment? (lo-4)

  5. When do you re-estimate, and what do you record afterwards? (lo-5)

  6. Somebody asks you to lower your estimate. What do you do? (lo-4, lo-2)

L3 Generating ideas with structured techniques

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 4 topic: governance-idea-generation

  1. Why are generating and selecting ideas kept apart? (lo-1)

  2. Describe the 6-3-5 procedure and say what it produces (lo-2)

  3. Name the six techniques and the situation each one suits (lo-3)

  4. Build a morphological box for a small problem and read a solution out of it (lo-4)

  5. How do Bionik and the Delphi method differ from the intuitive techniques? (lo-5)

  6. Why is "ask an agent for fifty ideas" not a replacement? (lo-1, lo-3)

L17 Planning milestones that can be verified

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 5 topic: governance-milestones

  1. What is the difference between a milestone, a phase, a task and a deadline? (lo-1)

  2. How do you write a milestone that somebody else can check? (lo-2)

  3. Where in the year do milestones belong? (lo-3)

  4. What does a milestone trend chart show that a status report cannot? (lo-4)

  5. A milestone is missed. What are the legitimate responses? (lo-5)

  6. Why does "the implementation phase is complete" fail as a milestone? (lo-1, lo-2)

L2 What makes a project a project

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 4 topic: governance-project-basics

  1. Which criteria make a piece of work a project? Give an example that fails one (lo-1)

  2. What belongs in an initial situation, and what does not? (lo-2)

  3. Name the three constraints and explain which one moves in a school year (lo-3)

  4. Where does the initial situation live in the project repository, and why there? (lo-2)

L7 Structure of the project application and charter

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 5 topic: governance-project-charter

  1. Name the fields of the project application and what belongs in each (lo-1)

  2. What is the difference between Projektantrag and Projektauftrag? (lo-2)

  3. What does "frozen" mean, and what would go wrong without it? (lo-3)

  4. Give the German terms for research objective, planned deliverable and effort estimate (lo-4)

  5. Why is "work on the frontend" not a milestone? (lo-1, lo-3)

L6 Eliciting requirements from people and documents

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 4 topic: governance-requirements-elicitation

  1. Name the four elicitation techniques, what each delivers and what it costs (lo-1)

  2. How do you prepare and conduct an interview so the answers are usable? (lo-2)

  3. What does a document analysis deliver that no interview can, and how do you run one? (lo-3)

  4. In which order do you use the techniques, and why that order? (lo-4)

  5. Two techniques for two situations, each with a justification (lo-4)

  6. What must elicitation produce before it counts as finished? (lo-5)

L5 Stakeholders and verifiable project goals

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 4 topic: governance-stakeholders-goals

  1. What is a stakeholder, and how do internal and external ones differ? (lo-1)

  2. Turn "the app should be fast" into a verifiable goal (lo-2)

  3. Why does a charter contain non-goals? (lo-3)

  4. Why is "we implement a REST API" a bad goal? (lo-2, lo-3)

  5. In which three dimensions is a project goal stated, and what is an Ergebnisziel? (lo-4)

  6. Which four questions do you ask before writing a goal down? (lo-5)

  7. What is Zielkonkurrenz, and what do you do about it? (lo-6)

L4 Choosing a project with weighted scoring

block: Project governance kind: Theory taught in: year 3 prerequisite for: year 4 topic: governance-weighted-scoring

  1. Describe the four steps of a weighted scoring (lo-1)

  2. What makes a criterion useful, and what makes one useless? (lo-2)

  3. Two alternatives end 745 to 738. What does that mean? (lo-3)

  4. How can a weighted scoring be manipulated, and what prevents it? (lo-4)

  5. Why is the result written into the project proposal at all? (lo-1, lo-3)

L13 First milestone review

block: Project governance kind: Practice taught in: year 3 prerequisite for: none topic: review-milestone-1

  1. What is presented at a milestone review, and what is not? (lo-1)

  2. What counts as evidence, and what is only an assertion? (lo-2)

  3. How do you review another team’s repository? (lo-3)

  4. What makes a review comment usable? (lo-4)

  5. What happens to the findings after the review? (lo-5)

  6. How do you prepare for a milestone review, and why does it take forty minutes? (lo-1, lo-5)

L18 Second milestone review

block: Project governance kind: Practice taught in: year 3 prerequisite for: none topic: review-milestone-2

  1. How does the second review differ from the first? (lo-1)

  2. What does a forecast at this review consist of? (lo-2)

  3. Why must a deployed end-to-end slice be shown at this review? (lo-3)

  4. The forecast does not fit the deadline. What do you bring to the review? (lo-4)

  5. What do you look for when reviewing another team at this stage? (lo-5)

  6. "We are aware of that finding." Why is that not an answer? (lo-1)

Process models and spec-driven development

L10 From project charter to specifications

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 5 topic: bridge-charter-to-specs

  1. Map the charter fields onto their artefacts (lo-1)

  2. Turn a charter objective into a requirement with a scenario (lo-2)

  3. Why is "change archived by date" a better milestone than a status report? (lo-3)

  4. How is individual responsibility visible without a separate document? (lo-4)

  5. What goes wrong if you copy the charter text into the specs? (lo-1, lo-2)

L14 Reading project progress from changes

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 5 topic: bridge-progress-and-milestones

  1. Why is "we are 90 % done" not a progress measure? (lo-1)

  2. How do you derive progress from archived changes? (lo-2)

  3. What does a team’s working rhythm predict? (lo-3)

  4. What can the repository not show, and how is that covered? (lo-4)

  5. How is individual responsibility shown without a separate report? (lo-5)

  6. Why does an unarchived change count as not done? (lo-2, lo-1)

L10 Running a change end to end

block: Process models and spec-driven development kind: Practice taught in: year 3 prerequisite for: year 4 topic: openspec-hands-on

  1. Walk through the loop from proposal to archive (lo-1)

  2. What does each artefact answer? (lo-2)

  3. When do you write a design document? (lo-3)

  4. How do you notice that a change is too large, and what do you do? (lo-4)

  5. Why archive continuously instead of at the end of the year? (lo-1, lo-4)

L8 Process models as three tempos of one pattern

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 4 topic: process-models-overview

  1. What is the invariant pattern behind every process model? (lo-1)

  2. Place waterfall, Scrum and SDD by tempo and say what follows from each (lo-2)

  3. Why does the choice of process model not affect the charter? (lo-3)

  4. Where has the uncertainty moved, now that code is cheap to produce? (lo-1, lo-2)

  5. When would you still choose a long loop? (lo-4)

L13 The life cycle of a change

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 4 topic: sdd-change-lifecycle

  1. Name the states of a change and the condition for each transition. (lo-1)

  2. What does archiving do, and why is it the point of the loop? (lo-2)

  3. A change turns out to be wrong. What do you do? (lo-3)

  4. Along which line do you split a change that is too large? (lo-4)

  5. What can you read off a project’s changes/ and archive/ folders? (lo-5)

  6. Why must specs/ never be edited directly? (lo-2, lo-1)

L12 The artefacts of spec-driven development

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 4 topic: sdd-openspec-artifacts

  1. Which artefacts does a change carry, and what does each answer? (lo-1)

  2. What is the difference between the target state and the delta? (lo-2)

  3. Write a requirement with a scenario, and say what makes it checkable. (lo-3)

  4. When does a change need a design document? (lo-4)

  5. What must a task contain to be usable? (lo-5)

  6. Why is the proposal separate from the specification? (lo-1, lo-2)

L15 The living target state replaces the requirements document

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 5 topic: sdd-specs-replace-requirements

  1. Why does a requirements document go stale, and why does a target state not? (lo-1)

  2. If the target state may change, what stops a team from redefining success? (lo-2)

  3. Trace one requirement from elicitation to verification. (lo-3)

  4. Where does a given sentence belong — charter, target state or change? (lo-4)

  5. What replaces the signed requirements document at acceptance? (lo-5)

  6. Why must a Pflichtenheft and a target state not be maintained side by side? (lo-1, lo-4)

L9 Why specifications instead of a requirements document

block: Process models and spec-driven development kind: Theory taught in: year 3 prerequisite for: year 4 topic: sdd-why-specs

  1. What is a specification, and how does it differ from a requirements document? (lo-1)

  2. What are Lastenheft and Pflichtenheft, who writes each, and what is in them? (lo-5)

  3. Which chapters does a Pflichtenheft have, and what is the Kriterienkatalog for? (lo-6)

  4. Write a requirement with a scenario for "sessions have a capacity limit" (lo-2)

  5. Why did precise statements of intent become the scarce resource? (lo-3)

  6. What is frozen, what is alive, and why do you need both? (lo-4)

  7. Why is "the service uses a repository class" a bad requirement? (lo-1, lo-2)

Tools and practice

L12 Repeating workflows and stop conditions

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: ai-agentic-loops

  1. Describe the agentic loop. Which part of it is your responsibility? (lo-1)

  2. What makes a stop condition usable? (lo-2)

  3. How do you recognise a loop that is not converging? (lo-3)

  4. What kind of work can an agent do unattended in a loop? (lo-4)

  5. Which work is safe to run unattended, and what precautions apply? (lo-5)

  6. Why does "keep going until the code is good" fail as an instruction? (lo-2, lo-3)

L8 Working with AI agents, first steps

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: ai-basics-prompting

  1. What does a language model do, and what follows for its reliability? (lo-1)

  2. Which three ingredients make a task formulation checkable? (lo-2)

  3. Name four failure modes and how you would notice each (lo-3)

  4. What may you hand to an agent, and what must stay out? (lo-4)

  5. Why is a large single prompt worse than several small ones? (lo-2, lo-3)

L9 Providing context and continuing across sessions

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: ai-context-continuation

  1. What belongs in the context for a task, and what only adds noise? (lo-1)

  2. What happens when the context window fills up? (lo-3)

  3. Which four parts does a continuation prompt have? (lo-2)

  4. Why does project knowledge belong in the repository and not in a chat? (lo-4)

  5. What is wrong with a continuation note that lists what you did? (lo-2)

L11 Shaping the agent’s working environment

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: ai-harness-engineering

  1. What is a harness, and which of its parts can you change? (lo-1)

  2. What belongs in a project instruction file, and what does not? (lo-2)

  3. How do you decide which commands an agent may run without asking? (lo-3)

  4. A result is wrong. How do you tell whether the model or the harness failed? (lo-4)

  5. Why is the harness kept in version control, and what must never be in it? (lo-5)

  6. You keep telling the agent the same thing every session. What do you do? (lo-2, lo-5)

L6 Documentation as text with AsciiDoc

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: asciidoctor-basics

  1. Why is documentation kept as text in the repository? (lo-4)

  2. Show the AsciiDoc markup for a section, a table, a code block and a warning (lo-1)

  3. How do you convert the document, and why through a container? (lo-2)

  4. Why are diagrams kept as PlantUML source rather than as images? (lo-3)

  5. What must accompany every image in this course? (lo-3, lo-4)

L14 What containers solve

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: docker-basics

  1. Which problem do containers solve? (lo-1)

  2. Distinguish image, container and registry. (lo-2)

  3. Which commands run, inspect and clean up a container? (lo-3)

  4. Why is a container not a virtual machine? (lo-4)

  5. When is a container the wrong tool? (lo-5)

  6. Why does editing files inside a running container not fix anything? (lo-2, lo-3)

L15 Building an image from a description

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: docker-images

  1. Write a Dockerfile for a small application and explain each instruction. (lo-1)

  2. How does the layer cache work, and how do you order instructions for it? (lo-2)

  3. What does a multi-stage build achieve? (lo-3)

  4. Which security rules apply to an image others will run? (lo-4)

  5. How do you tag and publish an image so somebody else can reproduce your run? (lo-5)

  6. Why is COPY . . early in a Dockerfile usually a mistake? (lo-2, lo-4)

L17 Images for more than one processor architecture

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: docker-multiarch

  1. Why might an image built on one machine not run on another? (lo-1)

  2. How do you recognise an architecture mismatch? (lo-2)

  3. How do you build and publish a multi-architecture image? (lo-3)

  4. What is an image index and how is the right variant chosen? (lo-4)

  5. When is a multi-architecture build worth its cost? (lo-5)

  6. Why can buildx build --platform amd64,arm64 --load never work? (lo-3, lo-4)

L16 Data and configuration outside the container

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: docker-volumes-config

  1. Why must data and configuration live outside the image? (lo-1)

  2. Named volume or bind mount? (lo-2)

  3. How does configuration reach a container? (lo-3)

  4. Where must a secret never be, and where does it go instead? (lo-4)

  5. How do you back up and restore the data of a containerised service? (lo-5)

  6. A team keeps three images — dev, test and prod. What is wrong? (lo-1, lo-3)

L7 From push to published page

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: gh-actions-pages

  1. Describe the four parts of the smallest useful pipeline (lo-1)

  2. Why does CI run the same script as the local build? (lo-1, lo-3)

  3. What does the neutral build environment settle? (lo-3)

  4. A run is red. How do you find the cause? (lo-2)

  5. How does the site get published, and what happens on a red build? (lo-4)

L2 Repository, commit, history

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: git-basics

  1. Name the three states of a file in git and the commands that move it (lo-2)

  2. What does a commit contain, and why is it a state rather than a diff? (lo-1, lo-2, lo-7)

  3. What makes a commit message useful? Give a bad and a good example (lo-3)

  4. Name five commit types and say what each is for (lo-3)

  5. Which files must not be committed, and why does deleting them later not help? (lo-4)

  6. How do you read what changed in a specific commit? (lo-1)

  7. Where does the network start in the git picture, and what follows from that? (lo-5)

  8. What is the difference between a centralized and a distributed VCS, and what does the distributed one make possible? (lo-6)

  9. You commit three times, and the third commit deletes a file. What is in the repository afterwards? (lo-7)

L3 Branching and merging

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: git-branching

  1. What is a branch technically, and why is creating one cheap? (lo-2)

  2. When do you get a fast-forward and when a merge commit? (lo-3)

  3. Show the commands for creating, merging and deleting a branch (lo-1)

  4. Which branching rules apply in this course, and why each? (lo-4)

  5. You deleted a branch by mistake. Is the work gone? (lo-2, lo-4)

  6. What is a detached HEAD, how do you get into one, and why is committing there dangerous? (lo-5)

L5 Conflicts and remote repositories

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: git-conflicts-remotes

  1. What is origin/main, and how does it differ from the remote’s main? (lo-1)

  2. When does a conflict occur, and why does git not resolve it itself? (lo-3)

  3. Walk through resolving a conflict (lo-2)

  4. Your push is rejected with "fetch first". What happened, what do you do? (lo-4)

  5. You committed to main by mistake. How do you fix it? (lo-4)

L4 Pull requests and review

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: git-pull-requests

  1. What does a pull request add that a local merge does not? (lo-3)

  2. When do you need a fork, and when is a branch enough? (lo-5)

  3. Walk through opening a pull request from a fork (lo-5, lo-1)

  4. Which three questions does a pull request description answer? (lo-1)

  5. What makes a review comment useful? Give an example of each kind (lo-2)

  6. Which rules apply to pull requests in this course? (lo-4)

  7. Why is a two-thousand-line pull request a problem? (lo-1, lo-4)

L1 Setting up the learning environment

block: Tools and practice kind: Practice taught in: year 3 prerequisite for: year 4 topic: learning-environment-setup

  1. Which checks happen before the partition table is touched, and why each one? (lo-1)

  2. Why not WSL2? (lo-2)

  3. What does idempotent mean, and why is it required here? (lo-3, lo-4)

  4. Why are tool installation and identity setup separate scripts? (lo-3)

  5. Your setup run aborted halfway. What do you do? (lo-4)

L11 What software engineering is

block: Tools and practice kind: Theory taught in: year 3 prerequisite for: none topic: what-is-software-engineering

  1. What distinguishes software engineering from programming? (lo-1)

  2. Name the forces that make software hard, with one example each (lo-2)

  3. Which practice answers which force? Give two pairs (lo-2)

  4. What did cheap code production change, and what did it not? (lo-3)

  5. Why is "engineering is obsolete now" the wrong conclusion? (lo-3)