← 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.

  1. The program development cycle and algorithms
    40 min · 1 practice tasks · quiz
    The seven stages of building software, why design comes before coding, and what makes a set of steps a proper algorithm.
  2. Pseudocode and flowcharts
    40 min · 1 practice tasks · quiz
    The two standard ways to write down an algorithm - pseudocode and flowcharts - the three control structures, and designing a solution to a real problem.
  3. The essence of the program development cycle
    40 min · 1 practice tasks · quiz
    It is a loop, not a line. Errors are cheapest on paper. That is why design comes before typing.
  4. Problem definition: what must it do?
    40 min · 1 practice tasks · quiz
    Name inputs, outputs, processing and constraints before any algorithm. A school-fee balance.
  5. Program design: how will it work?
    40 min · 1 practice tasks · quiz
    Turn a definition into an algorithm on paper: pseudocode or a flowchart, still no language.
  6. Coding: spelling the design in a language
    40 min · 1 practice tasks · quiz
    Coding translates a finished design into source code. If design was good, typing is mostly mechanical.
  7. Testing and debugging
    40 min · 1 practice tasks · quiz
    Test with normal, extreme and invalid data. Debugging is fixing what testing found.
  8. Implementation: putting it into real use
    40 min · 1 practice tasks · quiz
    Install, move real data, train the people who will click. A working file in the lab is not yet in use.
  9. Maintenance: most of the life of a program
    40 min · 1 practice tasks · quiz
    Corrective, adaptive and perfective maintenance. This is why the cycle loops, and why it costs most.
  10. Documentation: user and technical
    40 min · 1 practice tasks · quiz
    Two audiences. Written beside every stage, not after. Comments are technical docs inside the code.
  11. Characteristics of a good algorithm
    40 min · 1 practice tasks · quiz
    Input, output, finiteness, definiteness, effectiveness - and generality as a sixth.
  12. Sequence, selection and iteration
    40 min · 1 practice tasks · quiz
    Every algorithm is built from three structures. Languages change; these three do not.
  13. Dry runs and trace tables
    40 min · 1 practice tasks · quiz
    Trace every variable after every step on paper. That is how design errors are caught cheaply.
  14. Designing an algorithm for a real problem
    40 min · 1 practice tasks · quiz
    A matatu-fare or kiosk-change problem: definition, pseudocode, flowchart, dry run - the outcome.
  15. From kiosk problem to maintained code
    40 min · 1 practice tasks · quiz
    Walk one Kenyan problem through all seven stages. Responsibility and unity are part of the method.