9.1 Computational Thinking Skills

2026 Syllabus Objectives

By the end of this subtopic, you should be able to:

  • understand abstraction
  • explain the need for abstraction
  • explain the benefits of abstraction
  • describe the purpose of abstraction
  • produce an abstract model of a system by including only the important details
  • describe and use decomposition
  • break a problem into smaller sub-problems
  • understand how decomposition leads to program modules such as procedures and functions

What are computational thinking skills?

When computer scientists solve a problem, they do not start by writing code straight away. First, they think carefully about the problem. They work out what the problem really is, what matters most, and how the solution can be organised.

This way of thinking is called computational thinking. It means studying a problem in a clear and logical way so that a computer-based solution can be created.

For this subtopic, the two main computational thinking skills you need to know are:

  • abstraction
  • decomposition

These skills are useful because many real problems are large, messy, and full of extra detail. If we try to solve everything at once, it becomes confusing. Computational thinking helps us make the problem simpler and more manageable.


What is abstraction?

Abstraction means focusing only on the important details of a problem and leaving out the details that do not help solve it.

In simple words, abstraction means:

  • keep what is essential
  • ignore what is not needed

When a problem is too detailed or too complicated, abstraction helps by removing unnecessary parts. This makes it easier to understand the problem and design a solution.

For example, if you are designing a program to manage a school library, you do not need to include every possible fact about a book, such as the colour of the cover or tiny marks on the pages. You only include the details that matter to the system, such as:

  • title
  • author
  • book ID
  • whether the book is available or not

Those are the important features for the system. The rest can be ignored.


Why is abstraction needed?

Abstraction is needed because real-life situations usually contain too much information.

If every detail is included, the model or solution becomes harder to understand and harder to build. A computer scientist needs to decide which details matter for the purpose of the system.

Without abstraction:

  • the problem may seem more complicated than it really is
  • the solution may include useless features
  • more time may be wasted building and testing unnecessary parts

Abstraction helps us cut away the extra parts so we can concentrate on the real problem.

Sign in to view full notes