algorithm
sequence of steps, than can be followed to complete task, it always terminates
sequence
instructions that follow on from one another
abstraction
process of omitting unnecessary details
representational abstraction
removing unnecessary details from the problem
Abstraction by generalisation
simplifying a problem by grouping together common characteristics to filter out details we don’t need
information hiding
process of hiding all details of an object that do not contribute to essential characteristics.
procedural abstraction
result of abstracting away the actual values used in a particular computation
e.g. Area = width x height
functional abstraction
supply the number order, type of inputs required to get output , results in just a function
RectangleArea = Area()
data abstraction
specific data of how data is actually represented are abstracted away, allowing new kinds of data structured to be created from previously defined data structures.
problem abstraction
details removed from a problem until it is represented in a way that it is solvable, because it is similar to a problem already solved
decomposition
problem is divided into series of smaller sub-problems, smaller problems can be solves or further divided until all parts can be solves
composition
solutions developed by plugging in pre-existing components that already work
combining appropriate procedures to form compound procedure
automation
process of putting abstractions of real world phenomena into action to solve problems.