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 is provides a quick introduction to this key concept.
- explain how data can be represented using bits
- 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 were the essential features 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 do. Identify at least 4 functions that are associated with 4 abstract buttons.
2.8.3. Summary¶
In this lesson, you learned how to:
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.
- general
- Yes. Abstractions is a general representation of something. Usually some of the specific details are omitted.
- specific
- We’re in the learning zone today. Mistakes are our friends!
- fixed
- We’re in the learning zone today. Mistakes are our friends!
- artistic
- We’re in the learning zone today. Mistakes are our friends!
Q-2: Complete the following definition: An abstraction is a ____________ representation that stands for some collection of individual instances.
- True
- False
- Try asking a classmate for advice—s/he may be able to explain/suggest some ideas or recommend some strategies.
Q-3: True or False: One of the main characteristics of an abstraction is that it simplifies a complex phenomenon by leaving out the irrelevant aspects.
- Languages
- Designs
- Maps
- Computer science
Q-4: Examples of abstraction can be found in which of the following?
- Complexing
- Don’t worry, it’s hard! Let’s go back and try it again.
- Complicating
- Don’t worry, it’s hard! Let’s go back and try it again.
- Condensing
- Simplifying
Q-5: In Computer Science, the process of abstracting also means:
- True
- False
- Of course it’s tough – school is here to makes our brains stronger!
Q-6: True or False: Two examples of abstraction in Computer Science are Data Abstraction and Procedural Abstraction.
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.