Abstraction with Mad Glibs

Lesson time: 20 Minutes         Basic lesson time includes activity only. Introductory and Wrap-Up suggestions can be used to delve deeper when time allows.

Lesson Overview

Abstraction is one of the most important skills for a computer scientist to understand. It simplifies problems and prevents unnecessary repetition. A good coder uses abstraction just about every time she creates a program. This activity will have your students analyze stories for differences so that they can abstract them away. Those abstracted stories become templates for fun and crazy new ones.

Teaching Summary

Getting Started - 10 minutes

1) Review
2) Vocabulary
3) An Abstract Reminder

Activity: Mad Glibs - 20 minutes

4) Mad Glibs

Wrap-up - 10 minutes

5) Flash Chat: What did we learn?
6) Vocab-Shmocab

Assessment - 10 minutes

7) Abstraction Assessment

Lesson Objectives

Students will:

Teaching Guide

Materials, Resources and Prep

For the Student

For the Teacher

Getting Started (10 min)

1) Review

This is a great time to review the last lesson that you went through with your class. We suggest you alternate between asking questions of the whole class and having students talk about their answers in small groups.

Here are some questions that you can ask in review:

Lesson Tip

Finishing the review by asking about the students' favorite things helps to leave a positive impression of the previous exercise, increasing excitement for the activity that you are about to introduce.

2) Vocabulary

This lesson has one important word to review:

Abstraction - Say it with me: Ab-strac-shun
Pulling out specific differences to make one solution work for multiple problems

3) An Abstract Reminder

When you finish your review, try taking your class by surprise.

“So, what did you have for waffles this morning?”

Your students might look perplexed?

“No one? Okay, what did you have for toast yesterday?”

You may start to get some hands raising, and people eager to share and agree because they want to relate, but possibly not because they understand.

“See what I was doing there? I identified my experience in a very specific manner, and that made it harder for everyone else to relate to. What could I have said that more people would have understood?”

At some point, they’ll start to come up with the idea of using “breakfast” in place of the actual food that was consumed.

“In a way, the word ‘breakfast’ is like a variable that we use to hold a space for whatever it is we ate this morning. By taking the specific word out and replacing the space it leaves with ‘breakfast,’ we are using abstraction to make something work for multiple people.”

Ask the class to give you some examples of other places that they may naturally use abstraction to allow more people to understand them. The idea of lunch and dinner will most-likely come up. Is there anything not food related?

Activity: Mad Glibs (20 min)

4) Mad Glibs Abstraction Worksheet

The next step is to pass out a “fill-in-the-blank” story (see the Mad Glibs Abstraction Worksheet for a copy to print out) . Let them know that this started as a specific story about one thing, but we used abstraction to turn some of the specific words into blanks, and now the story can be about lots of things. Ask them what they can make their story about.

Wrap-up (10 min)

5) Flash Chat: What did we learn?

6) Vocab Shmocab

You can choose to do these as a class, or have the students discuss with an elbow partner and share.

"A list of steps that you can follow to finish a task"
"An object that looks like a triangle from one direction and a circle from another"
"Pulling out specific differences to make one solution work for multiple problems"

Assessment (10 min)

7) Abstraction Assessment Worksheet

Extended Learning

Use these activities to enhance student learning. They can be used as outside of class activities or other enrichment.

Mad Drawing

Prep for Songwriting with Parameters

Connections and Background Information

ISTE Standards (formerly NETS) Satisfied by this Lesson Include:

  • 1a. Apply exitisng knowledge to generate new ideas, products, or processes
  • 1c. Use models and simulations to explore complex systems and issues
  • 2d. Contribute to project teams to produce original works or solve problems
  • 4b. Plan and manage activities to develop a solution or complete a project

The activities in this lesson support CSTA K-12 Computer Science Standards:

  • CL.L2-03 Collaborate with peers, experts, and others using collaborative practices such as pair programming, working in project teams, and participating in group active learning activities
  • CT.L1:6-01 Understand and use the basic steps in algorithmic problem-solving
  • CT.L1:6-02 Develop a simple understanding of an algorithm using computer-free exercises
  • CT.L2-12 Use abstraction to decompose a problem into sub problems.

Common Core Mathematical Practices

  • 2. Reason abstractly and quantitatively.
  • 6. Attend to precision.
  • 7. Look for and make use of structure.
  • 8. Look for and express regularity in repeated reasoning.

Common Core Language Arts Standards

  • L.3.6 Acquire and use accurately grade-appropriate conversational, general academic, and domain-specific words and phrases, including those that signal spatial and temporal relationships.
  • L.4.6 Acquire and use accurately grade-appropriate general academic and domain-specific words and phrases, including those that signal precise actions, emotions, or states of being and that are basic to a particular topic.
  • L.5.6 Acquire and use accurately grade-appropriate general academic and domain-specific words and phrases, including those that signal contrast, addition, and other logical relationships