# Abstraction in Computer Science

@article{Colburn2007AbstractionIC, title={Abstraction in Computer Science}, author={Timothy R. Colburn and Gary M. Shute}, journal={Minds and Machines}, year={2007}, volume={17}, pages={169-184} }

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… Expand

#### Figures and Topics from this paper

#### 88 Citations

The Philosophy of Computer Science: Introduction to the Special Issue

- Computer Science
- Minds and Machines
- 2007

The authors argue, with the use of a rich variety of examples, that abstraction in computer science is quite different: whereas abstraction in mathematics abstracts away from details ( information neglect or suppression), computer science only hides the underlying details (information hiding)—presumably so as they can be handled by different programs. Expand

Decoupling as a Fundamental Value of Computer Science

- Computer Science
- Minds and Machines
- 2011

It is shown that decoupling pervades computer science both at its core and in the wider context of computing at large, and lies at the very heart of computer science’s value system. Expand

Abstraction, Law, and Freedom in Computer Science

- Computer Science
- 2010

A law of conserva- tion of information in network programming, and various laws of computational motion (invariants) for programming in general, along with their pedagogical utility are described. Expand

ABSTRACTION, LAW, AND FREEDOM IN COMPUTER SCIENCE TIMOTHY COLBURN AND GARY SHUTE

- 2010

ION, LAW, AND FREEDOM IN COMPUTER SCIENCE TIMOTHY COLBURN AND GARY SHUTE Abstract: Laws of computer science are prescriptive in nature but can have Laws of computer science are prescriptive in nature… Expand

On Floridi’s Method of Levels of Abstraction

- Computer Science
- Minds and Machines
- 2013

It is argued that levels of abstraction should be augmented with annotations, in order to express semantic information for them and reconcile the method of level of abstraction (LoA’s) with other approaches. Expand

Levels of abstraction and the Turing test

- Computer Science
- Kybernetes
- 2010

The method is summarized and it is argued that in any discrete domain of discourse, a complex phenomenon may be explicated in terms of simple approximations organised together in a GoAs. Expand

Interfaces first (and foremost) with Java

- Computer Science
- SIGCSE
- 2010

A course that introduces Java while following a discipline of diligently decomposing every component into these two separate linguistic elements, providing a clear manifestation of the role of abstraction in software systems and a framework that naturally motivates many good coding practices adopted by professional programmers. Expand

Proceeding in Abstraction. From Concepts to Types and the Recent Perspective on Information

- Computer Science
- 2009

An historical and conceptual overview on different approaches to logical abstraction in the history of logic is presented, and the methodological contribution provided by the notion of information is considered, showing its conceptual and technical relevance. Expand

Programming Languages as Technical Artifacts

- Computer Science
- 2014

In this paper, it is argued that an appropriate conceptualization is furnished by the notion of a technical artifact. Expand

Abstraction in Artificial Intelligence and Complex Systems

- Computer Science
- Springer New York
- 2013

A formal model, the KRAmodel, is presented to capture the characterizing properties of abstraction, and its pragmatic power is illustrated with three case studies: Model-based diagnosis, Cartographic Generalization, and learning Hierarchical Hidden Markov Models. Expand

#### References

SHOWING 1-10 OF 21 REFERENCES

Concrete Abstractions: An Introduction to Computer Science Using Scheme

- Computer Science
- 1998

This text covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well. Expand

Program Verification: Fundamental Issues in Computer Science

- Computer Science
- 1993

The Mathematical Paradigm of Computation, Program Verification, Deafeasible Reasoning, and Two Views of Computer Science T.R. Colburn and J.H. Fetzer are presented. Expand

Mathematics as a science of patterns

- Philosophy
- 1997

Mathematics as a Science of Patterns is the definitive exposition of a system of ideas about the nature of mathematics which Michael Resnik has been elaborating for a number of years. In calling… Expand

Philosophy of mathematics: What numbers could not be

- Philosophy
- 1965

THE attention of the mathematician focuses primarily upon mathematical structure, and his intellectual delight arises (in part) from seeing that a given theory exhibits such and such a structure,… Expand

Principles of Mathematics

- Mathematics
- 1903

First published in 1903, Principles of Mathematics was Bertrand Russell's first major work in print. It was this title which saw him begin his ascent towards eminence. In this groundbreaking and… Expand

Philosophy of mathematics : structure and ontology

- Mathematics
- 2004

Do numbers, sets, and so forth, exist? What do mathematical statements mean? Are they literally true or false, or do they lack truth values altogether? Addressing questions that have attracted lively… Expand

Program verification: the very idea

- Computer Science
- CACM
- 1988

The success of program verification as a generally applicable and completely reliable method for guaranteeing program performance is not even a theoretical possibility. Expand

The Java Virtual Machine Specification

- Computer Science
- 1996

This second edition specifies the newest version of the Java virtual machine and provides a fascinating view into the inner workings of theJava 2 platform. Expand

Design patterns: elements of reuseable object-oriented software

- Computer Science
- 1994

The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out… Expand

Mathematical Thought from Ancient to Modern Times

- Mathematics
- 1972

This comprehensive history traces the development of mathematical ideas and the careers of the men responsible for them. Volume 1 looks at the discipline's origins in Babylon and Egypt, the creation… Expand