Chapter 2.8 - What is Abstraction
Time Estimate: 45 minutes
2.8.1. Introduction and Goals
An important concept and practice in Computer Science is abstraction. But what exactly is abstraction? This lesson provides a quick introduction to this key concept.
Learning Objectives: I will learn to
explain how data can be represented using bits
Language Objectives: I will be able to
Describe abstractions in computer science and in the real world using key vocabulary such as procedural abstraction and data abstraction, out loud and in writing, with the support of vocabulary notes from this lesson.
2.8.2. Learning Activities
Lecture
Practice with Abstraction
Your teacher may have you do some of the following activities.
In pairs, play a guessing game, where 1 student draws something in 10 seconds, and the other student tries to guess what it is. After each drawing, discuss what the essential features were that were drawn that helped to guess what it was, and which features of the actual object were left out. The essential features make up the abstraction or abstract drawing for that object.
In teams, play a few rounds of Fishbowl. Fishbowl (sometimes called Salad Bowl) is a game named by the bowl you put the slips of paper in. After each round, the points are added up and the papers are added back into the fish bowl. Each round lasts until either the papers are out or each member of the team has gone for one minute. Each round will add an extra layer of abstraction for you to get through. Use these slides to guide you.
Go to the Google scientific calculator. This is an app that Google programmers have made. The buttons on this calculator are abstractions for the functions that they perform. Identify at least 4 functions that are associated with 4 abstract buttons.
2.8.3. Summary
In this lesson, you learned how to:
Learning Objective DAT-1.A: Explain how data can be represented using bits.
Data values can be stored in variables, lists of items, or standalone constants and can be passed as input to (or output from) procedures.
Abstraction is the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea.
2.8.4. Self-Check
Vocabulary
Here is a table of the technical terms we've introduced in this lesson. Hover over the terms to review the definitions.
abstraction
abstracting
constant
variable
data abstraction
procedural abstraction
Check Your Understanding
Complete the following self-check exercises.
Q-1: Complete the following definition: An abstraction is a ____________ representation that stands for some collection of individual instances.
A. artistic
B. specific
C. fixed
D. general
Q-2: True or False: One of the main characteristics of an abstraction is that it simplifies a complex phenomenon by leaving out the irrelevant aspects.
A. False
B. True
Q-3: Examples of abstraction can be found in which of the following? (Choose all that apply)
A. Computer science
B. Designs
C. Maps
D. Languages
Q-4: In Computer Science, the process of abstracting also means: (Choose all that apply)
A. Complicating
B. Complexing
C. Condensing
D. Simplifying
Q-5: True or False: Two examples of abstraction in Computer Science are Data Abstraction and Procedural Abstraction.
A. True
B. False
2.8.5. Reflection: For Your Portfolio
Answer the following portfolio reflection questions as directed by your instructor. Questions are also available in this Google Doc, where you may use File > Make a Copy to make your own editable copy.
Last updated