2.1.1 Thinking Abstractly Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What is representational abstraction?

A

Removing excessive details to represent a problem using only key features

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is data abstraction?

A

Details about how data is being stored is hidden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is meant by layers of abstraction?

A

Large complex problems are split into layers
Each layer has a different role

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the role of higher layers of abstraction?

A

Providing a user interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the role of lower layers of abstraction?

A

Tasks e.g. interacting with machine components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is abstraction by generalisation?

A

Grouping together similarities within a problem to identify the type of problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

State 2 benefits of abstraction by generalisation.

A

Allows problems to be categorised
A common solution can be used

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is procedural abstraction?

A

Allows programmers to utilise functions without knowledge of implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Give 2 uses of procedural abstraction.

A

Decomposition
Manipulating data structures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why is abstraction needed?

A

Allows non-experts to use a range of systems/models
Enables efficient software design
Programming languages use layers of abstraction
TCP/IP model uses abstraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How does abstraction allow for the non-expert use of systems/models?

A

Hides information too complex or irrelevant to system’s purpose

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does abstraction allow for efficient software design?

A

Programmers can focus on core elements rather than unnecessary details

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

State the two benefits of efficient software design.

A

Reduces time spent on a project
Prevents program from becoming unnecessarily large

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why is abstraction used in programming languages?

A

Makes coding accessible to non-specialists

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does the TCP/IP model use abstraction?

A

Each layer has a different role
Layers don’t require knowledge of how others work

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How are objects an example of abstraction?

A

Objects are an abstraction for real-world entities

17
Q

What do attributes represent?

A

The characteristics of an object

18
Q

What do methods represent?

A

The actions an object is able to perform