# Abstraction

Computational Thinking

### Overview​

Computational thinking assists students to break down problems into smaller parts so that it is easier to understand and solve them. In all disciplines, students have problems to solve. Learning to use decomposition, pattern recognition, abstraction and algorithm design will help students reach success in all projects. Students can use computational thinking while working on a school project to code and program a game. The terms are difficult for a 2nd grader to learn, but they should begin learning the main concepts of computational thinking. In this task card, the focus will be on abstraction.

## Learning Objectives

Students will:

• Understand what abstraction is at relates to computational thinking.
• Be able to hide all but the relevant data in the task they are assigned.

## Vocabulary

1. Abstraction: Abstraction is pulling out specific differences to make one solution work for multiple problems.

## Pre-planning

• Abstraction is one of the most important skills for a computer scientist to understand. It simplifies problems and prevents unnecessary repetition.
• A good coder will use abstraction just about every time he/she creates a program.
• A programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency.
• It is important for students beginning in the elementary to learn to get rid of data that is not relevant. These skills can be used across the curriculum.
• Watch this video on Abstraction to better understand the concept.
• Introduce abstraction by writing several sentences on the board. Each sentence will have common language such as:
• I have _______red _________. The students will fill in the blanks. Explain how I, have, red are the same keywords or points throughout each sentence, but the blanks are the information that is different. With computer science you have to decide what to include and what to leave out.
• Now that they have a beginning understanding of abstraction you can introduce them to Mad Libs. They are a fun and engaging way for your students to learn abstraction.
• Check out the two sites to decide if you want to print out the Mad Libs yourself or have them play the game on the computer.

## Steps

1. The teacher gives the students a brief description of abstraction.
• They are to hide all but the relevant data in the task they are assigned.
2. The teacher writes the sentences on the white board or smart board and has the students fill in the blanks.
• Explain how the words that are repeated are the keywords or main points.
• The blanks that are filled in by the students is the information that is different.
3. Have the students fill out the printable Mad Libs or play the Mad Libs game on the computer or their device.

## Assessment Options

• Observations
• Check for understanding

## ISTE Standards

Computational Thinking
5a. Students formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.

5c. Students break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.

MITECS: Michigan adopted the "ISTE Standards for Students" called MITECS (Michigan Integrated Technology Competencies for Students) in 2018.

## Devices and Resources

Browser: Chrome, Safari, Firefox, Edge, ALL

There are Mad Libs Apps for Android and iOS, but you will want to check their appropriateness for 2nd grade before sharing with them.