CS10K Curated Content: CSP Number 2: Abstraction: A Continuing Conversation

5
CS10K COMMUNITY CURATE D CONTENT CSP Number 2: Abstraction: A Continuing Conversation by Bob Juranitch T echnology makes it easier to nd 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 products—organized by course and topic—with 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. 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 y ou familiarize yourself with the concept of abstraction as a basic tool for your students to use as they solve problems using computer science. Advanced Placement ®  Computer Science Principles (AP ®  CSP) Framework Essential Knowledge statements covered in this curation: 2.1.1A—Digital data are represented by abstractions at different levels. 2.1.1B—At the lowest level, all digital data are represented by bits. 2.1.1C—At a higher level, bits are grouped to represent abstractions, including but not limited to numbers, characters, and color. 2.1.2D—The interpretation of a binary sequence depends on how it is used. 2.1.2E—A sequence of bits may represent instructions or data. 2.1.2F—A sequence of bits may represent different types of data in different contexts. 2.2.1A—The process of developing an abstraction involves removing detail and generalizing functionality . 2.2.1B—An abstraction extracts common features from specic examples in order to generalize concepts. 2.2.3E—Binary data is processed by physical l ayers of computing hardware, including gates, chips, and components. 2.2.3F—A logic gate is a hardware abstraction that is modeled by a Boolean function. 2.2.3G—A chip is an abstraction composed of low-level components and circuits that perform a specic function. 2.2.3H—A hardwar e component can be low level like a transistor or high level like a video card. 2.2.3I—Hardware is built using multiple levels of abstractions, such as transistors, logic gates, chips, memory , motherboards, special purpose cards, and storage devices. 2.2.3J—Applications and systems are designed, developed, and analyzed using levels of hardware, software, and conceptual abstractions. SUMMARY CONTENT PEDAGOGY AND RESOURCES SHARE YOUR OWN RESOURCES! INTRODUCTION SUMMARY

Transcript of CS10K Curated Content: CSP Number 2: Abstraction: A Continuing Conversation

7/25/2019 CS10K Curated Content: CSP Number 2: Abstraction: A Continuing Conversation

http://slidepdf.com/reader/full/cs10k-curated-content-csp-number-2-abstraction-a-continuing-conversation 1/1

CS10K COMMUNITY CURATED CONTENT

CSP Number 2: Abstraction: A Continuing Conversation

by Bob Juranitch

Technology makes it easier to nd 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 products—organized by course and topic—with

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.

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.

The AP® CSP Framework denes abstraction as “reducing information and detail to

facilitate focus on relevant concepts.” It is likely that many of us entered the eld of

computer science because of our ability to apply abstractions—an aptitude owing to

either nature or nurture. The framework provides the impetus for us to be intentional

in presenting this concept.

Is Abstraction the Key to Computing?

With analogies to art and music, this important paper by Jeff Kramer formally denes 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 rst 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 comprehensivedescription 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.

 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!

 As humans, we employ abstractions to navigate our world every day, but we don’t typically think

about the process or denition 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 useof 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 rst 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.)

Two caveats about teaching abstraction: First, Piaget tells us that, developmentally, our students

are just past the age at which they were rst 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 don’t “get” this high-level concept.

Repeated application in multiple, explicit contexts will help them gain condence 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.

General Abstraction

Professor Harvey’s Introduction to Abstraction

Sometimes we want our students to reect on a concept before we formally discuss it in class.This reading is a short, concise example that can be used to prime a student’s 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 canuse 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.

Advanced Placement® Computer Science Principles (AP® CSP) Framework Essential Knowledge

statements covered in this curation:

2.1.1A—Digital data are represented by abstractions at different levels.

2.1.1B—At the lowest level, all digital data are represented by bits.

2.1.1C—At a higher level, bits are grouped to represent abstractions, including but not limited to numbers, characters, and color.

2.1.2D—The interpretation of a binary sequence depends on how it is used.

2.1.2E—A sequence of bits may represent instructions or data.

2.1.2F—A sequence of bits may represent different types of data in different contexts.

2.2.1A—The process of developing an abstraction involves removing detail and generalizing functionality.

2.2.1B—An abstraction extracts common features from specic examples in order to generalize concepts.

2.2.3E—Binary data is processed by physical layers of computing hardware, including gates, chips, and components.

2.2.3F—A logic gate is a hardware abstraction that is modeled by a Boolean function.

2.2.3G—A chip is an abstraction composed of low-level components and circuits that perform a specic function.

2.2.3H—A hardware component can be low level like a transistor or high level like a video card.

2.2.3I—Hardware is built using multiple levels of abstractions, such as transistors, logic gates, chips, memory, motherboards,

special purpose cards, and storage devices.

2.2.3J—Applications and systems are designed, developed, and analyzed using levels of hardware, software, and conceptual abstractions.

INTRODUCTION

SHARE YOUR OWN

RESOURCES

SUMMARY CONTENT PEDAGOGY AND

RESOURCES

SHARE YOUR OWN

RESOURCES!

INTRODUCTION

SUMMARY

CONTENT

PEDAGOGY AND

RESOURCES

CURATOR BIOGRAPHYBob 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.