Words to know
stepwise refinement
Breaking a task into smaller and smaller steps until each is easy to code.
IPO model
Input, process, output: the basic shape of every program.
modularity
Building a program from self-contained modules with clear interfaces.
exception
A run-time error that stops the program unless it is detected or handled.
critical path
The longest chain of dependent tasks; it sets the project length.
test plan
Scenarios, input data, expected and actual outcomes, and pass/fail.
Let's review!
In this unit you learned how programs are planned, designed, built, tested and delivered. You practised problem-solving strategies and the input-process-output model, worked in teams, and described designs with flow charts, pseudocode, structure charts, data flow diagrams and UML. You designed modular, reusable code from skeletons, built user-friendly interfaces, applied formulas, kept arrays sorted, and handled exceptions. Finally you followed the software development life cycle with specifications, Gantt and PERT charts, test plans, debugging methods and status reports, and put it all together in a mini project.
This review has three questions from every lesson. Try each one, then press Show answer.
Check your understandingQuiz
1. Which strategy breaks one big task into smaller and smaller steps?
2. In the IPO model, the 13% HST rate in a tax program is best treated as:
3. Which diagram shows a program's modules and which module calls which?
5. To test whether 121 is prime, the efficient algorithm checks divisors up to:
6. How many items shift when 1 is inserted into the sorted list [3, 5, 8, 13]?
7. What does this print? try: print(len([]) / 0) except ZeroDivisionError: print("none")
8. In which life-cycle phase is the specification produced?
9. Chains of tasks take 9, 14 and 11 days. A task on the 9-day chain is delayed by 3 days. The project now takes:
10. A test expects $10 but the program shows $14 for age 65. What is the best next step?