Abstraction in computational thinking enables us to navigate complex problems more effectively while helping to find relevance and clarity at scale.
What is Abstraction in Learning?
Abstraction in learning is the process of taking away or removing certain characteristics of a complex problem to reduce it to its most essential components. This helps to simplify or break down the problem to make it easier to resolve.
Abstraction in Computational Thinking
Abstraction is an essential part of computational thinking. Computational thinking is a problem-solving skill that develops an algorithm, or series of steps to perform a task or solve a problem.
In computational thinking, decomposition and pattern recognition break down the complex, while abstraction figures out how to work with the different parts efficiently and accurately. This process occurs through filtering out irrelevant information and identifying what’s most important. It then connects each decomposed problem to establish a complete solution.
“But it is a pipe.”
“No, it’s not,” I said. “It’s a drawing of a pipe. Get it? All representations of a thing are inherently abstract. It’s very clever.”
– John Green, The Fault in Our Stars
Abstraction is similar to the selective filtering function in our brains that gates the neural signals with which we are constantly bombarded so we can make sense of our world and focus on what’s essential to us.
Examples of Abstraction in Curriculum
Another way to think about abstraction is in the context of those big concepts that inform how we think about the world like Newton’s Laws of Motion, the Law of Supply and Demand, or the Pythagorean Theorem. All of these required the people behind them to think about big, broad, and complex concepts; to break down the problem and to experiment; and to find patterns amongst the experimentations; and to eventually abstract this concrete knowledge to package it into these sterile statements that shelter us from the complexity and difficulty waded through to arrive at this law.
Like the other elements of computational thinking, abstraction occurs inherently and can be addressed throughout the curriculum with students. Here are some ideas.
- English Language Arts Students summarize a novel into a book review.
- Mathematics: Students conduct a survey of peers and analyze the data to note the key findings, create visualizations, present the findings.
- Science: Students develop laws and theorems by looking at similar formulas and equations.
- Social Studies: Students coalesce the most important details shared in articles about a specific current event and write a brief about the event.
- Languages: Students create a personal guide that dictates when to use the formal and informal ‘you’ in Spanish class or the two ‘to know’ verbs in French, which, mind you, always confounded me.
- Arts: Students generalize chord progressions for common musical genres into a set of general principles they can communicate.
Examples of Abstractions in Computer Science
Abstraction in coding and computer science is used to simplify strings of code into different functions. It hides the underlying complexity in a programming language, which makes it simpler to implement algorithms and communicate with digital tools.
Abstraction helps students return to the larger problem that prompted this whole computational thinking adventure and identify the most important details from the earlier phases. Understanding abstraction enables students to make sense of problems they encounter, helping them to not be overwhelmed in the face of something complex and to persist, compute, iterate, and ideate.
Download the Ultimate Guide to Computational Thinking for Educators
Learn more about abstraction in computational thinking by downloading our free guide for educators: The Ultimate Guide to Computational Thinking for Educators.