Abstraction In Computer Science Timothy Colburn Gary Shute

Science and Models

Science and Models (cont'd)

Science and Models (cont'd)

Computer Science and Models

Programs as Abstractions

Software's Medium of Description vs. Its Medium of Execution

Formal Languages as Abstract Tools

Computer Science and Mathematics

Abstraction in Mathematics

Abstraction in Mathematics (cont'd)

Formal Abstraction in Computer Science

Two Kinds of Mathematical Abstraction

Two Kinds of Mathematical Abstraction (cont'd)

Information Neglect vs. Information Hiding

Abstraction as Information Hiding

Kinds of Abstraction in Computer Science

Abstraction of Processor and Memory

Abstractions of Processor and Memory (cont'd)

Procedural Abstraction

Procedural Abstraction (cont'd)

Abstractions of Language

The Imperative Programming Paradigm

The Functional Programming Paradigm

The Logic-Oriented Programming Paradigm

Artificial Intelligence and Knowledge Representation in Prolog

The Object-Oriented Programming Paradigm

OOP Example: Bank Account Hierarchy

Abstraction of Computing Resources

Virtualizable Resources

Virtualization Mechanisms

Abstraction of Software Architecture

Abstraction of Network Architecture

Conclusions