Define algorithm.
A sequence of steps which can be followed to complete a task which always terminates.
Define representational abstraction.
The removal of unnecessary detail.
Define abstraction by generalisation/ categorisation.
Grouping by common characteristics to arrive at a hierarchal, 'is a kind of' relationship.
Define information hiding.
Hiding all of the details of an object, which do not contribute to its essential characteristics or behaviours.
Define procedural abstraction.
- Breaking down a complex model into a series of reusable procedures.
- The actual values used for one instance of the problem is abstracted away.
Define functional abstraction.
Calling a function, which returns a result, without knowing sequence of steps used to arrive at the result.
Define data abstraction.
Removing specific details of how data is stored in memory, focussing on how one might interact with data only.
Define problem abstraction.
The removal of unnecessary detail to arrive at a problem which has already been solved.
Define procedural decomposition.
Breaking down a problem into a number of smaller sub-problems, each which accomplish a single identifiable task.
Define composition.
The process of combining procedures to form compound procedures.
Give an example of composition
Abstract data types such as arrays and trees are made from many simpler data types
Define automation
Creating models/ abstractions of real world objects and phenomena in order to solve problems
State 4 things which can be done in order to create models for automation
- Removing all details irrelevant to the problem.
- Designing and implementing abstract data structures.
- Designing and implementing algorithms.
- Executing code