1 / 8

Abstraction in Computer Science

Abstraction in Computer Science. Abstraction. An abstraction is an intellectual device to simplify, for the user, by eliminating factors that are irrelevant to the key idea. Abstraction Example.

dewey
Télécharger la présentation

Abstraction in Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abstraction in Computer Science

  2. Abstraction • An abstraction is an intellectual device to simplify, for the user, by eliminating factors that are irrelevant to the key idea.

  3. Abstraction Example • Driving a car – An example that the march of technological progress is, at least in part, a march toward greater and greater abstraction.

  4. Abstraction in Computer Science • Much of the activity of computer science is concerned with inventing abstractions that simplify thought processes and system development and data representation. • Abstraction enables the • ability to “forget the details” • ability to separate “what” from “how” • But there is still value in both understanding that various abstractions exist and some basic knowledge of those abstractions.

  5. One Problem in CS • Programs are complex. • Windows XP: ~45 million lines of code • Mathematica: over 1.5 million Computer programming is easy, as long as the programs are small. What's hard isn't the programming, but the keeping track of details in a huge program. The solution is procedural abstraction .

  6. Two Types of Abstraction in CS • Procedural Abstraction (blocks in Scratch/BYOB) • Function specification and parameterization • Data Abstraction (sprites, strings, numbers in Scratch/BYOB) • What you can do with the data is separated from how it is represented.

  7. CS Abstraction Examples • A document in a word processor program. • Ordering concert tickets.

  8. Why do we care? • Sometimes abstractions hide details that can cause users problems.

More Related