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.
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.