The Software-Lifecycle

The goal of this lesson is to learn how to use some tools for planning, designing and managing larger software projects.

In this module you will learn to design large programs using various tools.
You will break the program into small manageable parts to facilitate writing, testing and debugging the program. 
In order to do this you will learn to use several tools traditionally used by programmers:

  • Algorithms: Analyze the problem and determine the best way to achieve the goals.
  • Pseudocode: Decompose the problem using step wise refinement
  • Storyboards: Create a graphical layout for the design.
  • Flowcharts: Analyze the problem using standard symbols to illustrate the sequence of actions.
  • Truth tables: Create a table of all possible combinations and the desired outcomes.

You will use all of these tools to design your final project.

Print the lesson

Please study the material at each of the links below.

  1. Pseudocode: Step by step instructions written in human language.
  2. A game: Rock, Paper, Scissors: Explanation and Pseudocode for the game
  3. Flowcharts: A flowchart is a drawing that shows the steps in an algorithm.
  4. Drawing Flowcharts: Video shows how to draw flowchart using draw.io
  5. Flowchart for Rock, Paper, Scissors game: The top level flowchart for the rock paper scissors game is shown.
  6. Truth table for Rock, Paper, Scissors game: Video creates a truth table in Excel.
  7. Discussion Questions

Active Learning

Design a final project.

Like us on Facebook:


OER: Open Educational Resource
Creative Commons License Author: Janet E. Joy; Publisher: Zebra0.com
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Creative Commons Attribution-NonCommercial 4.0 International License
Last modified: May 17 2017 16:47:44.