Abstraction in Computer Science

  title={Abstraction in Computer Science},
  author={Timothy R. Colburn and Gary M. Shute},
  journal={Minds and Machines},
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
The Philosophy of Computer Science: Introduction to the Special Issue
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
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
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
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 natureExpand
On Floridi’s Method of Levels of Abstraction
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
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
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
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
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
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


Concrete Abstractions: An Introduction to Computer Science Using Scheme
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
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
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 callingExpand
Philosophy of mathematics: What numbers could not be
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
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 andExpand
Philosophy of mathematics : structure and ontology
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 livelyExpand
Program verification: the very idea
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
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
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 outExpand
Mathematical Thought from Ancient to Modern Times
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 creationExpand