That's the wrong way to think about it. Don't try to think about it all at once.
- Jeb Rubenfeld

Flow Charts

A flow chart is a graphic representation of the logic of a deterministic process that can contain contingencies and repetition.

P0243a2.png

Learning to draw a flow chart of an existing process or being able to read the logic of a process from a flow chart helps you to see the taken-for-granted and invisible structure of a process - the decisions that are built into it. It forces you to be explicit about what choices will be made within a process and to account for all the logically possible contingencies. Hewing to a particular discipline of flow chart drawing forces careful thinking at exactly those moments where the urge to hand-wave is strongest.

The flow chart to the left, for example, represents the logic of "keep writing research grants until you get funded and then do the research." Or, a little more pedantically: write a grant. If you get funded, do the research. Otherwise go back and repeat step one - go back to writing grants.

We will start with simple flow charts of processes with sequences and decisions and using flow charts to model classification processes. Then we move on to the representation of repetition. Then we will introduce the concepts of "black boxing," "step-wise refinement," and "deferring detail" as techniques for managing complexity. Finally, we will add time and space to flow charts to show how they can be adapted for project management tasks.

Class 1 Prerequisites, if/then/else, basics, action, decision, loops

Prep

  1. Ryan: Flow Charts, An Introduction
  2. Stoked & Zeckhauser, pp. 9-10
  3. Problems 71, 72
  4. Univ Plymouth, UK: Flow Charts for Simple Tasks: Tutorial with exercises
  5. Univ Plymouth, UK: Flow Charts for Classification: Tutorial with exercises
  6. (optional) Wikipedia Flow Charts

Workshop Guide

Class 2 Stepwise refinement, division of labor

Prep

  1. Ryan: Stepwise Refinement
  2. Ryan: Division of Labor
  3. Wirth, N. 1971. "Program Development by Stepwise Refinement." Communications of the ACM, Vol. 14, No. 4, April 1971, pp. 221-227. (OPTIONAL)
  4. Problems 91, 244, 322, 323, 248, 249

Workshop Guide

Lab

Prep

  1. About.COM: the IF Function)
  2. MS Excel Help: Switch between relative, absolute, and mixed references
  3. Problems 73, 88, 89, 90

Lab Guide

Skills

All Problems

0071 | 0072 | 0073 | 0074 | 0075 | 0076 | 0077 | 0078 | 0079 | 0080 | 0081 | 0082 | 0083 | 0084 | 0085 | 0086 | 0087 | 0088 | 0089 | 0090 | 0091 | 0242 | 0243 | 0244 | 0245 | 0246 | 0247 | 0248 | 0249 | 0250 | 0322 | 0323 |

Wiki Pages

See also

Stoicism Flowchart
An overview by HCI consulting in Australia
Gehani, N. 1981. "Program Development by Stepwise Refinement and Related Topics." Bell System Technical Journal, vol. 60, no. 3.
Wirth, N. 1971. "Program Development by Stepwise Refinement." Communications of the ACM, Vol. 14, No. 4, April 1971, pp. 221-227.

Portfolio

71, 72
73, 88, 89, 90
73, 88, 89, 90
Lab