Minds and Machines

, Volume 17, Issue 2, pp 169–184

Abstraction in Computer Science

Article

DOI: 10.1007/s11023-007-9061-7

Cite this article as:
Colburn, T. & Shute, G. Minds & Machines (2007) 17: 169. doi:10.1007/s11023-007-9061-7

Abstract

We characterize abstraction in computer science by first comparing the fundamental nature of computer science with that of its cousin mathematics. We consider their primary products, use of formalism, and abstraction objectives, and find that the two disciplines are sharply distinguished. Mathematics, being primarily concerned with developing inference structures, has information neglect as its abstraction objective. Computer science, being primarily concerned with developing interaction patterns, has information hiding as its abstraction objective. We show that abstraction through information hiding is a primary factor in computer science progress and success through an examination of the ubiquitous role of information hiding in programming languages, operating systems, network architecture, and design patterns.

Keywords

AbstractionComputer scienceInformation hidingMathematics

Copyright information

© Springer Science+Business Media B.V. 2007

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of MinnesotaDuluthUSA