What is abstraction?
The process of omitting unnecessary details from a problem to simplify it and make finding a solution easier.
What is representational abstraction?
A representation of a problem arrived at by removing unnecessary details from the problem.
What is abstraction by generalisation / categorisation?
A grouping by common characteristics to arrive at a hierarchical relationship of the “is a kind of” type.
What is information hiding?
The process of hiding all details of an object that do not contribute to its essential characteristics.
What is procedural abstraction?
Breaking down a complex model into a series of reusable procedures, abstracting away actual values to achieve a computational method.
What is functional abstraction?
Abstracting further beyond a procedure to disregard the particular method, resulting in just a function.
What is data abstraction?
Abstracting away the specific details of how data is represented, allowing new data structures to be created from previously defined ones. Forms the basis of abstract data types.
What is problem abstraction / reduction?
Removing details from a problem until it is represented in a solvable way, often by simplifying it to resemble a previously solved problem.
What is decomposition?
Dividing a problem into smaller sub-problems that can be solved individually or further divided until the whole problem is solved.
What is composition?
Combining procedures to form a larger system. Used in abstract data types, where complex types are formed from smaller, simpler ones.
What is automation?
Putting abstractions of real-world phenomena (models) into action to solve problems — achieved by creating algorithms, implementing models in data structures, and executing code.