Objectives:

At the end of this lesson, students will be able to:

â€¢ Understand what abstraction is and why it is used

â€¢ Apply abstraction to simplify design and coding

â€¢ Describe how abstraction can help makes systems/problems easier to think about

Introduction (5 minutes)

Explain to students that they will be learning how abstraction is used in design and coding. Explain that abstraction is a process of creating something that simplifies a concept or process while still conveying its essential details.

Examples (10 minutes)

Give the students examples of abstraction in design and coding. In terms of design, explain that abstract designs make systems easier to read or interact with. Show them examples of logos and websites that are designed abstractly and discuss why they are easier to interact with. In terms of coding, explain that abstraction allows programmers to think of programming problems in more general terms, helping them make the coding process easier. Show them examples of simple coding problems that can be abstracted into more complex algorithms.

Discussion (15 minutes)

Divide the students into groups, give each group one abstraction example and have them discuss the ways abstraction simplifies the problem or system. Ask them to identify the essential details of their example that remain unchanged, and discuss how these details help solve the problem.

Conclusion (5 minutes)

Summarize the discussion and review the objectives of the lesson. Review the ways abstraction simplifies design and coding and how it can help make systems and problems easier to think about. Ask the students to share any questions they might have.