Nassi–Shneiderman Diagrams, Structured Code and Me

When I was learning how to program at the University of Houston in the late 80s, I was part of the MIS program at the College of Business, which then was a blend of computer science and business. I spent many an hour hunched over a terminal and gigantic keyboard connected to the Digital VAX mini-computer (Fortran) or the Hitachi mainframe (COBOL). At the time, most MIS students had to take two transaction processing classes usually taught by the legendary and brilliant Dr. Michael Parks.

In that class, one of the first tools we were taught for algorithmic thinking was the Nassi–Shneiderman diagram (NS diagram). The ability to write structured code was considered a top priority in the job market at the time and knowing how to diagram it was the first step in learning. The chart was developed in the 70s by Isaac (Ike) Nassi and Ben Shneiderman. While it cannot scale to anything large and complex, it is great for modeling smaller processes or diagramming high-level views. It performs the basic functions of a flowchart but features a tight, top-down flow and it cannot do a “goto” which was, for many, a big concern in the popular programming languages at the time.

A sample diagram for insurance approval…

I never really encountered NS diagrams being used in the wild and my algorithmic skills increased quickly to where I did not need to diagram out everything. Using them certainly helped me early in my career when there were no web examples to easily copy. I bring up NS diagrams in conversations from time to time but no one seems to have ever used them.

We all stand on other’s shoulders in this world and I definitely have stood on both Nassi & Shneiderman’s.

Header Image, Digital VT102 Terminal
Wikipedia Commons