Skip main navigation

What is abstraction?

Abstraction is a powerful tool in computing, but what is it? Martin O'Hanlon explains the basics in this video.
0.5
Abstraction is the art of removing complexity from a problem by hiding background details and information. Let’s use abstraction to make our robot wave. To make a robot wave, you could give it the following instructions. Lift your arm, open your hand, move your hand left, move your hand right, move your hand left, move your hand right, close your hand, and lower your arm. Now, that’s a lot of instructions to give every time we want to make our robot wave. It would be a lot simpler if we could teach our robot to wave once, and then each time after that, we simply give it the instruction, “wave.” Abstraction is a fundamental concept of computing, not just programming.
45.8
It’s how technology has been able to progress at ever increasing speeds. By continually abstracting problems, the next person who faces the same problem doesn’t have to be concerned about the detail. Now, up next, you are going to create functions in Python to simplify and help you reuse code in your programs.

Abstraction is the act of removing complexity from a problem by hiding background details and information.

Let’s imagine using abstraction to make our Robot wave.

An animated GIF of a cartoon robot waving, by lifting up its arm, opening its hand, moving its arm left,right,left,right, closing its arms and then lowering its hand.

To make the Robot wave you could give it the following instructions:

lift up your arm
open your hand
move your arm left
move your arm right
move your arm left
move your arm right
close your hand
lower your arm

That would be a lot of instructions to give each time we wanted to make our robot “wave”. It would be much simpler if we could teach our robot how to wave once, and each time after that we could simply give it the instruction wave.

how to wave:
lift up your arm
open your hand
move your arm left
move your arm right
move your arm left
move your arm right
close your hand
lower your arm

wave
wave
wave

Abstraction is a fundamental concept of computing (not just programming): it’s how technology has been able to progress at ever increasing speeds by continually abstracting problems, so that the next person who faces the same problem doesn’t have to be concerned about the detail.

You are going to create functions in Python to simplify and reuse code in your programs.

This article is from the free online

Programming 101: An Introduction to Python for Educators

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education