Kopenograms are one of graphical ways of representing algorithms and data. The acronym KOPENOGRAM expresses the fundamental idea of this graphical representation: Keep Our Program in Embedded Noted Oblongs for Graphical Representation of Algorithmic Modules. The original idea of graphical representation of algorithms emerged in the 80ies of the past century, in a discussion of three programmers (Kofránek, Novák, Pecinovský), as a reaction to the defects of existing ways of structured representation of algorithms and data structures (such as flowcharts, Jackson diagrams , Nassi-Schneiderman diagrams etc.). However, it became apparent soon that the chosen notation can also be used for visually clear demonstration of algorithm and data structuring in teaching. Named kopenograms (originally a temporary name composed of the surnames of the authors) in the then Czechoslovakia and later in the Czech and Slovak Republics, these diagrams started to be used as a teaching aid both for the teaching of programming essentials, e.g. using the programming language Karel, and also for the teaching of more advanced programming methods.

The graphical language of kopenograms includes expression means for writing algorithmic structures as well as data structures. However, UML is now used as standard for writing data structures. Therefore, we shall focus only on describing how those algorithmic structures are written for which no diagram is offered by UML that could display them, without “seducing“ the developer to using non-structured statements.

Kopenograms – Graphical Language for Structured Algorithms