2.1.1 Abstraction Flashcards

1
Q

What is abstraction?

A

Simplifying a problem by only considering the necessary details required to obtain a solution.

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

What form of abstraction involves grouping together similarities within a problem to identify what kind of problem it is?

A

Abstraction by generalisation.

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

What form of abstraction involves hiding details about how data is being stored?

A

Data abstraction

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

What kind of problems make use of multiple levels of abstraction

A

Large, complex problems.

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

How does abstraction allow non experts to make use of a system?

A

By hiding complex and irrelevant information in abstract models.

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

Advantages of using abstraction in software development

A
  • Easier for the programmers to focus on the core aspects
  • Reduces the time needed to be spent on the project
  • The software will require less computational power
  • Prevents program from getting unnecessarily large
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Applications of layers of abstraction

A
  • Networking (TCP/IP Layer)
  • Programming languages
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Disadvantages of using abstraction in software development

A

It is possible to have too much abstraction depending on the software / problem.

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

Advantages of using abstraction in programming languages

A
  • Easier to remember syntax in high level languages, because it is closer to natural language
  • Coding becomes accessible to beginners
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How is object oriented programming an abstraction?

A
  • Objects are abstractions for real world entities
  • Attributes are an abstraction for the characteristics of an object.
  • Methods are an abstraction for the actions a real word object can perform.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the difference between abstraction and reality?

A

Abstraction is a simplified representation of reality.

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