What Is The book ‘The Art of Computer Programming’ about ?

The Art of Computer Programming

The Art of Computer Programming was written by Donald Ervin Knuth and there are 7 volumes of the Art of Computer Programming. The first volume was published in 1968 with two chapters on Basic Concepts and Information Structures. The Art of Computer Programming highlights on how good a method is by analysing two programming algorithms using a mathematical approach. The genesis of the book began when Knuth was working on a chapter related to compilers, after going through several literature’s, he found that none of the literature’s were reliable in nature and did not do justice to the somewhat new field of computer science. He began his quantitative work on The Art of Computer Programming in 1963 and by the end of 1965 he had 12 chapters with almost 3000 pages. The first two chapters in Volume 1 provides basic mathematical preliminaries and basic Information structures. The book does not teach you how to code but is written for those who want an in-depth view on creating efficient algorithms and data structures.

read more

What is Structured Programming?

Structured Programming

Structured Programming in software engineering is as a method to break down a problem into small levels of hierarchical problem structures. It highlights that a program structure must be attained through a constant stepwise improvement. In structured programming, it is generally recommended to avoid GO TO statements, and use nested looping constructs like while loop statements instead. It was Edsger W. Dijkstra who identified the importance of structured programming in 1965. And later on, Bohm and Jacopini, in 1966, demonstrated that any program can be divided into three major control structures which are Sequence, Selection and Iteration.

The main guidelines followed in structured programming while improving the program structures is to identify the major functions early. Secondly, at every stage of the improvement process one must analyse to know all the consequences of decisions taken. Thirdly, be flexible enough to make changes to an initial decision when encountered with an unexpected problem. These small revisions will attribute towards overall improvement of the structure. Lastly, when new data items are discovered during the refinement process, it must be tracked and refined with a new meaning when it must be used.


  • Jensen, RW 1981, ‘Structured Programming’
  • Rouse, M n.d, structured programming (modular programming)
read more