2.1.1 Thinking Abstractly Flashcards

1
Q

Abstraction

A

Abstraction : Process of removing unnecessary detail from a problem to focus on the core aspects which simplifies it (decreases complexity).
- Only show relevant detail
- Used to represent reality with symbols - many features in reality not needed in representation.
- Too much abstraction can detract from appeal of program.

e.g. Exclude features, Not to scale, Only show what is relevant

Abstract by generalisation : Group different sections of problem with similar underlying functionality - reusable code that saves time.

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

Abstraction Advantages

A

Advantages :
- Decreased Complexity of programming and design and execution.

  • Reduced computational resources and memory required due to decreased complexity.
  • More likely to solve problem - Unnecessary aspects won’t detract from main program.
  • Simplifies problem and allows programmers to focus on core aspects making it easier to solve
  • Reduced development time - Ignore factors not relevant to main program.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly