The iterative cycle: create, test, improve

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

The iterative cycle: create, test, improve

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Which describes iteration in a project?
A Build it once and never change it
B Make a version, test it, get feedback, improve it, then repeat
2. You finish the first version of your class quiz app. What should you do next?
A Test it and ask classmates for feedback
B Hand it in straight away because it is finished
3. Which is the better file name for saving versions of your poster design?
A poster_final, poster_final2, poster_REALLYfinal
B poster_v1, poster_v2, poster_v3
4. Testers say your app has a confusing menu AND the colours are hard to read. What is the best approach?
A Change one thing, save it as a new version, then test again
B Change everything at once and hope it all works
5. True or false: Iteration only happens once, after the project is finished.
A False: it is repeated during the project
B True: you only improve at the end

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1poster_v1.png, poster_v2.png, poster_v3.png ASaving numbered versions so each improvement is kept and you can go back to an earlier one
2Create → Test → Feedback → Improve → Repeat BThe iterative cycle: make a version, test it, collect feedback, improve it, then go round again
3Change one thing at a time so you can tell which change made the difference CToo many changes at once. If testers dislike v3 you cannot tell which change caused the problem. Change one thing per version.
4Stop iterating when the solution meets its purpose and testers have no important problems left Dif (testers_happy and meets_purpose) then stop else make_next_version
5Saved over the old file: game.html (no earlier versions kept) Ev2: made the button bigger (nothing else changed)
6v3: new colours, new menu, new logo, new sounds all at once FOverwriting the old version means you cannot go back if the new change breaks something. Save numbered versions like game_v1, game_v2.

Definitions

iteration

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
______ improve(app) UNTIL goal_met
2.
version ← 1 version ← version _ 1 save(version)
3.
create(version1) ____(version1) improve(version1)
4.
WHILE ___ goal_met improve(app) ENDWHILE
5.
IF ________ THEN stop() ENDIF

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A version ← 1
B REPEAT
C test(version + 1)
D improve(version)
E version ← version + 1
F UNTIL goalMet
Question 2
A apply(oneChange)
B save("app_v" + version)
C publish(version)
Question 3
A save("game")
B test(version)
C version ← version + 1
Question 4
A feedback ← getFeedback()
B IF purposeMet THEN
C restart()
D ELSE improve(design)
Question 5
A test(version)
B feedback ← ignoreUsers()
C improve(version, feedback)

Answer Key

The iterative cycle: create, test, improve
Section A: Quick Questions
Q1
B — Make a version, test it, get feedback, improve it, then repeat
Q2
A — Test it and ask classmates for feedback
Q3
B — poster_v1, poster_v2, poster_v3
Q4
A — Change one thing, save it as a new version, then test again
Q5
A — False: it is repeated during the project
Section B: Match the Pairs
Q1
poster_v1.png, poster_v2.png, poster_v3.png → Saving numbered versions so each improvement is kept and you can go back to an earlier one
Q2
Create → Test → Feedback → Improve → Repeat → The iterative cycle: make a version, test it, collect feedback, improve it, then go round again
Q3
Change one thing at a time so you can tell which change made the difference → v2: made the button bigger (nothing else changed)
Q4
Stop iterating when the solution meets its purpose and testers have no important problems left → if (testers_happy and meets_purpose) then stop else make_next_version
Q5
Saved over the old file: game.html (no earlier versions kept) → Overwriting the old version means you cannot go back if the new change breaks something. Save numbered versions like game_v1, game_v2.
Q6
v3: new colours, new menu, new logo, new sounds all at once → Too many changes at once. If testers dislike v3 you cannot tell which change caused the problem. Change one thing per version.
Section C: Definitions
Q1
iteration — Making a version, testing it, getting feedback and improving it, then repeating the cycle until it does its job. Save numbered versions and change one thing at a time.
Section D: Fill in the Blanks
Q1
REPEAT improve(app) UNTIL goal_met
Q2
version ← 1 version ← version + 1 save(version)
Q3
create(version1) test(version1) improve(version1)
Q4
WHILE NOT goal_met improve(app) ENDWHILE
Q5
IF goal_met THEN stop() ENDIF
Section E: Spot the Error
Q1
C — This tests a version that does not exist yet. Each cycle should test the current version: test(version).
Q2
C — The cycle is create, test, improve. Publishing without testing skips the test step. It should be test(version).
Q3
A — Saving with no version number overwrites the old file, so you cannot go back. Use a numbered name like "game_v" + version.
Q4
C — When the design meets its purpose you should stop iterating. Restarting wastes effort. It should be stop().
Q5
B — Iteration needs feedback from real users to know what to improve. Ignoring them breaks the cycle. It should be askUsers().