← Computer Studies / 3 Software development
3.2 Program development
Computer Studies · Grade 10 · 15 lessons in the design
What this covers
- The stages of the program development cycle
- What an algorithm is, and its characteristics
- Pseudocode: keywords and structure
- Flowcharts: standard symbols
- Designing an algorithm for a real problem
- The three control structures: sequence, selection, iteration
What you will be able to do
- describe the stages of program development in computer programming
- write pseudocode to illustrate the logical flow of an algorithm
- represent the logical flow of an algorithm using a flowchart
- design an algorithm to solve a real-life problem
- appreciate the importance of using algorithms in problem solving
Key questions
“What is the essence of the program development cycle?”
“Why are algorithms designed?”
Lessons
The titles are open to everyone. Reading a lesson needs an account — sign in or create one.
-
The program development cycle and algorithms
40 min · 1 practice tasks · quizThe seven stages of building software, why design comes before coding, and what makes a set of steps a proper algorithm.
-
Pseudocode and flowcharts
40 min · 1 practice tasks · quizThe two standard ways to write down an algorithm - pseudocode and flowcharts - the three control structures, and designing a solution to a real problem.
-
The essence of the program development cycle
40 min · 1 practice tasks · quizIt is a loop, not a line. Errors are cheapest on paper. That is why design comes before typing.
-
Problem definition: what must it do?
40 min · 1 practice tasks · quizName inputs, outputs, processing and constraints before any algorithm. A school-fee balance.
-
Program design: how will it work?
40 min · 1 practice tasks · quizTurn a definition into an algorithm on paper: pseudocode or a flowchart, still no language.
-
Coding: spelling the design in a language
40 min · 1 practice tasks · quizCoding translates a finished design into source code. If design was good, typing is mostly mechanical.
-
Testing and debugging
40 min · 1 practice tasks · quizTest with normal, extreme and invalid data. Debugging is fixing what testing found.
-
Implementation: putting it into real use
40 min · 1 practice tasks · quizInstall, move real data, train the people who will click. A working file in the lab is not yet in use.
-
Maintenance: most of the life of a program
40 min · 1 practice tasks · quizCorrective, adaptive and perfective maintenance. This is why the cycle loops, and why it costs most.
-
Documentation: user and technical
40 min · 1 practice tasks · quizTwo audiences. Written beside every stage, not after. Comments are technical docs inside the code.
-
Characteristics of a good algorithm
40 min · 1 practice tasks · quizInput, output, finiteness, definiteness, effectiveness - and generality as a sixth.
-
Sequence, selection and iteration
40 min · 1 practice tasks · quizEvery algorithm is built from three structures. Languages change; these three do not.
-
Dry runs and trace tables
40 min · 1 practice tasks · quizTrace every variable after every step on paper. That is how design errors are caught cheaply.
-
Designing an algorithm for a real problem
40 min · 1 practice tasks · quizA matatu-fare or kiosk-change problem: definition, pseudocode, flowchart, dry run - the outcome.
-
From kiosk problem to maintained code
40 min · 1 practice tasks · quizWalk one Kenyan problem through all seven stages. Responsibility and unity are part of the method.