2.1.1 Thinking Abstractly Flashcards
What is representational abstraction?
A technique in which excessive details are
removed to arrive at a representation of a
problem that consists of only the key
features.
Which form of abstraction involves
grouping together similarities within a
problem to identify what kind
of problem it is?
Abstraction by generalisation
What is meant by data abstraction?
A form of abstraction in which details
about how data is being stored are
hidden.
What kind of problems make use of
multiple levels of abstraction?
Large, complex problems
How does abstraction allow non-experts
to make use of a system?
Hides complex and irrelevant information
in abstract models
State two advantages of using
abstraction in software development
- Easier for programmers to focus on core elements
- Reduces the time needed to be spent on the project.
- Prevents program from getting unnecessarily large.
Give two applications of layers of abstraction
Networking (TCP/IP layer)
- Programming languages
State two advantages of using
abstraction in programming languages
- Easier to remember syntax in high-level
languages as it is closer to natural language - Coding becomes accessible to beginners
How does object-oriented
programming use abstraction?
Objects are an abstraction for real-world entities.
Attributes are an abstraction for the characteristics of
an object.
Methods are an abstraction for the actions a
real-world object is able to perform.
What is the difference between
abstraction and reality?
Abstraction is a simplified representation
of reality