Publication Date



This paper explains the vital role of data abstraction in the development of computer programs. Abstract data types provide the mechanism to formulate a solution to a computing problem. They transform functions into algorithms and unltimately into programs. They also provide a mechanism for the development of a hierarchy of levels of abstraction t specific to the problem at hand. Examples are presented to explain these concepts. Consequences of this approach for the proof of program correctness are discussed.