×

Objectives

Students will be able to:

  • show the need for and benefits of using abstraction
  • describe the purpose of abstraction
  • produce an abstract model of a system only by including essential details
  • describe and use decomposition by breaking problems down into submodules leading to the concept of a program module
 

Computational Thinking Skills

Computational Thinking Skills involve the development of algorithms to solve complex problems.

However, before we can design an algorithm, we need to clearly understand the problem and extract only the essential information from it.

This is known as Abstraction.

Everything that is not necessary to solve a problem is ignored.

A great example of a system that illustrates abstraction is Google Maps.

When developing the system, Computer Scientists focused on the essential details. They ignored the fact that there are 5 trees on the corner of Hope Street. They simply included that Hope Street exists and all of the geolocation data associated with Hope Street.

Benefits of abstraction

  • Only essential details are included in the solution to a problem.