Sie sind auf Seite 1von 1

CS10K COMMUNITY CURATED CONTENT

CSP Number 2: Abstraction: A Continuing Conversation


by Bob Juranitch
Technology makes it easier to find classroom resources, but it can be time-consuming to vet all the options that pop up in your search engine. The
CS10K Community wants to help! During the course of this school year, we will release a series of productsorganized by course and topicwith
curated content from our website and other trusted sources that we hope will enrich your classroom experiences. We encourage you to share these
products widely with your colleagues and recommend your own favorite resources as well.

Advanced Placement Computer Science Principles (AP CSP) Framework Essential Knowledge
statements covered in this curation:
2.1.1ADigital data are represented by abstractions at different levels.
2.1.1BAt the lowest level, all digital data are represented by bits.
2.1.1CAt a higher level, bits are grouped to represent abstractions, including but not limited to numbers, characters, and color.
2.1.2DThe interpretation of a binary sequence depends on how it is used.
2.1.2EA sequence of bits may represent instructions or data.
2.1.2FA sequence of bits may represent different types of data in different contexts.
2.2.1AThe process of developing an abstraction involves removing detail and generalizing functionality.
2.2.1BAn abstraction extracts common features from specific examples in order to generalize concepts.
2.2.3EBinary data is processed by physical layers of computing hardware, including gates, chips, and components.
2.2.3FA logic gate is a hardware abstraction that is modeled by a Boolean function.
2.2.3GA chip is an abstraction composed of low-level components and circuits that perform a specific function.
2.2.3HA hardware component can be low level like a transistor or high level like a video card.
2.2.3IHardware is built using multiple levels of abstractions, such as transistors, logic gates, chips, memory, motherboards,

special purpose cards, and storage devices.
2.2.3JApplications and systems are designed, developed, and analyzed using levels of hardware, software, and conceptual abstractions.

SUMMARY

INTRODUCTION

CONTENT

PEDAGOGY AND
RESOURCES

SHARE YOUR OWN


RESOURCES!

Why is abstraction such a fundamental concept for using computer science to solve
problems? Rather than presenting a set of lessons for your classroom, this article
provides some rich resources that will help you familiarize yourself with the concept
of abstraction as a basic tool for your students to use as they solve problems using
computer science.

SUMMARY
As humans, we employ abstractions to navigate our world every day, but we dont typically think
about the process or definition of abstraction. Furthermore, as teachers, we do not think very
often about how abstraction applies to computer science or how we can foster more skilled use
of abstraction in our students. The AP Computer Science Principles (CSP) Framework brings
this powerful tool front and center as both a Big Idea and a Computational Thinking Practice,
implying that both the investigation and application of abstraction should spiral through any CSP
curriculum. Therefore, the material that follows makes up only the first of many discussions about
abstraction that will continue in future curated products. (Note: You may need to be logged in to
the CS10K Community website to access some of these activities.)

INTRODUCTION

The AP CSP Framework defines abstraction as reducing information and detail to


facilitate focus on relevant concepts. It is likely that many of us entered the field of
computer science because of our ability to apply abstractionsan aptitude owing to
either nature or nurture. The framework provides the impetus for us to be intentional
in presenting this concept.

CONTENT

Is Abstraction the Key to Computing?


With analogies to art and music, this important paper by Jeff Kramer formally defines and
investigates the role of abstraction in computer science, and begins the conversation
regarding our ability to teach this important skill. These thoughts are further elaborated on in
a Google Hangout (56:10) with the author and other computer science educators. Jeff Gray
processes this paper, linking abstraction to models, in Unit 4: Abstraction Examples (8:18).
Beauty and Joy of Computing (BJC) Lecture 1: Welcome and Abstraction (25:10)
This video provides examples of abstraction as well as an example of how a skilled
computer science professor presents this topic. The discussion of abstraction begins
at 11:20. A PDF and slide presentation are also available through the link.
A common thread that weaves throughout these discussions is the notion that abstraction
has two facets. The first is the idea of detail removal, which allows us to concentrate on
the important aspects of the item under study. The second is the idea of thinking of the
commonality of various examples so that we can parameterize any differences, thereby
minimizing repetition.
The Art of Abstraction Computerphile (5:21)
How do we go from high and low voltages on a wire to a widget on a screen? This video is
a high-level introduction to the layers of abstraction from bits to gates to chips and beyond.
Layers of Abstraction in Computing (6:06)
For those who want to dig really deep, this video provides a technically comprehensive
description of the layers of abstraction from bits to tasks. This video, which is provided
for teachers reference, goes way beyond the level of understanding expected by the
AP CSP Framework.

Two caveats about teaching abstraction: First, Piaget tells us that, developmentally, our students
are just past the age at which they were first able to employ abstractions. Thus, it is important
to keep the following in mind during our teaching: abstraction should be treated as a developing
skill. Although we adults have been abstracting for a long time, student cognitive development
has limited how much they could practice until now.
Second, abstraction is a concept that can be applied in just about every lesson and in
multiple situations. Students will be convinced that they dont get this high-level concept.
Repeated application in multiple, explicit contexts will help them gain confidence in their
understanding. With this in mind, the resources that follow deal only with the concepts
of general abstraction, data abstraction, and hardware abstraction. More contexts will be
presented in future curated products.

PEDAGOGY AND
RESOURCES

General Abstraction
Professor Harveys Introduction to Abstraction
Sometimes we want our students to reflect on a concept before we formally discuss it in class.
This reading is a short, concise example that can be used to prime a students mind using a
familiar context.
Computational Thinking: Unplugged Activity
Although this Code.org activity is designed to reach all the way down to the primary grades, it
can be used as a base for designing an abstraction activity for high school students. They can
be shown predrawn monsters and then asked to identify key features of the monsters, thereby
developing their own abstractions. This lesson is not mapped to standards.

Data Abstraction
ASCII Bit Patterns
Assuming your students already have an understanding of the binary number system, you can
use this activity to teach them how characters are represented in a computer. As an extension,
you might want to ask them, What is the next level of abstraction above characters?
Binary and RGB Color
This is a great tool that can be used to connect the earlier study of binary systems with how
colors are represented in a computer. By starting with just three levels of abstraction (bits to
hexadecimal to color), you can gradually prepare students for higher levels of abstraction.
Lesson 15: Encoding Color Images
Given the introduction to the tool for visualizing binary values and RGB colors, students
are now ready to understand how digital data produces pictures on a screen. Note that the
resources listed to the right in this lesson are both teacher-facing as well as student-facing.
This Code.org lesson includes a mapping to the Computer Science Teachers Association
(CSTA) Standards and AP CSP Framework Learning Objectives.

Hardware Abstraction
CSP Hardware and Abstraction
We interface with computers much like drivers interface with cars. This lesson encourages
students to learn more about the internal workings of their computers. It includes a mapping to
the language of the AP CSP Framework Learning Objectives.

Abstraction is a powerful but possibly unfamiliar concept. Have you found resources
that explain it well and are useful for building teachers and students understandings of
abstraction? Share them with the rest of us!

SHARE YOUR OWN


RESOURCES

CURATOR BIOGRAPHY
Bob Juranitch teaches science and computer science at University School of
Milwaukee in Milwaukee, Wisconsin. He strives to convey deep content in an
everyday context through which his students can gain a clearer understanding
of the world. Prior to becoming a teacher more than a decade ago, he was an
engineer for Raytheon.

Advanced Placement and AP are trademarks registered and/or owned by the College Board, which was
not involved in the production of, and does not endorse, this product.

Das könnte Ihnen auch gefallen