When attempting to describe the structure and operation of an algorithm, it is often useful to visualize its components and their relationships to one another. Simple diagrams can be constructed that depict each step of the algorithm (usually represented by rectangles, diamonds, etc.) interconnected with arrows showing the general flow of the process, hence the name, flowchart. You’ve most likely seen and/or used flowcharts for years in your daily life, but perhaps you didn’t consider them analog “programs” of sorts. Like programs, flowcharts serve different purposes and have different qualities.

Your task today is to create a flowchart outlining some simple instructive process (e.g., “How to brush your teeth,” “How to make a sandwich,” etc.). Then, you will present your flowchart to your peers by illustrating how it would work.

First, as a class, develop general guidelines for the flowchart. Flowcharts should contain a variety of components, such as a minimum number of steps, decisions, and inputs/outputs.

Brainstorm an idea for your flowchart with a partner quickly, then begin diagramming the flowchart. Focus on the content and function of the flowchart, but consider the usability of the flowchart, too. Be effective and efficient with your design, test it out (perhaps others will help you), and do your best.

For example, this flowchart illustrates how to sing the Beatles’ song Hey Jude (lyrics). However, it is imperfect, like many flowcharts and programs.

  • What is unclear about this flowchart?
  • How could the flowchart be improved?

Consider that as you design your own flowchart, and be prepared to share, illustrate, and discuss your work afterward.