You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
This lesson covers abstraction, a key component of computational thinking as required by OCR J277 Section 2.1. Abstraction is about focusing on what is essential and ignoring what is not relevant to solving the problem.
Abstraction is the process of removing unnecessary details from a problem to focus on the information that is relevant to solving it. It involves identifying what is important and filtering out what is not.
Abstraction simplifies complex real-world situations into models that can be understood and processed more easily — by both humans and computers.
We use abstraction all the time without realising it:
| Example | What Is Included (Relevant) | What Is Removed (Irrelevant) |
|---|---|---|
| London Tube map | Station names, connections between lines, line colours | Actual geographic distances, street layouts, surface features |
| Road map | Roads, junctions, place names, road numbers | Individual buildings, trees, street furniture |
| Weather forecast | Temperature, rainfall, wind speed, location | Air pressure at every altitude, humidity at every point |
| Contact list on phone | Name, phone number, email | Person's height, eye colour, shoe size |
| Chess | Piece positions, legal moves, board layout | Material the pieces are made from, colour of the board's wood |
OCR Exam Tip: The London Tube map is the classic example of abstraction used in exams. It shows connections and stations but removes geographic accuracy. This makes it easy to plan a journey without being overwhelmed by unnecessary geographic detail.
In computing, abstraction is used at every level:
When designing a system, you must decide what data is relevant and what is not.
Example: Student record system
| Relevant Data (Included) | Irrelevant Data (Excluded) |
|---|---|
| Student name | Hair colour |
| Date of birth | Favourite food |
| Student ID | Height |
| Attendance record | Pet's name |
| Exam results | Shoe size |
| Contact details | Hobbies |
When using a function or procedure, you only need to know what it does and what inputs/outputs it has — you do not need to know how it works internally.
Example: When you call print("Hello") in Python, you do not need to know how the print function communicates with the screen hardware. You just need to know that it displays text.
Operating systems provide an abstraction layer between software and hardware. Programs do not need to know the specific details of the printer, graphics card, or hard drive — the operating system handles these details.
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.