Differentiate between Decomposition and Abstraction

Decomposition and abstraction are two related but distinct concepts in computational thinking:


  • Breaking down a complex problem or system into smaller, more manageable parts or sub-problems.
  • Identifying the individual components or steps involved in a process.
  • Dividing a problem into smaller, more concrete pieces to understand and solve each part separately.

Example: When planning a trip, decomposing the task into smaller parts might include:
+ Booking flights
+ Arranging accommodation
+ Planning activities
+ Packing


  • Focusing on essential features and properties of a problem or system, while ignoring non-essential details.
  • Identifying the key concepts, patterns, and relationships that define a problem or system.
  • Simplifying complex information by highlighting only the most important aspects.

Example: When designing a user interface, abstraction might involve:
+ Focusing on the main user goals and tasks
+ Ignoring specific details of implementation
+ Identifying key user interface elements (e.g., buttons, menus)

Key differences:

  • Decomposition breaks down a problem into smaller parts, while abstraction simplifies complex information by focusing on essential features.
  • Decomposition is often a more concrete and detailed process, while abstraction is more abstract and high-level.
  • Decomposition helps with understanding and solving individual parts, while abstraction helps with understanding the overall structure and relationships between parts.

In summary, decomposition is about dividing a problem into smaller parts, while abstraction is about simplifying complex information by focusing on essential features and relationships. Both are important skills in computational thinking!

Share this:

Leave a Comment