A model of computation Flashcards
Pseudocode
a way of describing instructions that is independent of any programming language. It allows different programmers who may not all understand the same languages, to be able to communicate algorithms to one another.
Abstraction
is the process of omitting unnecessary details from a problem.
Representational Abstraction
A representation of a problem arrived at by removing unnecessary details from the problem
Abstraction by Generalisation/Categorisation
A grouping by common characteristics to arrive at a hierarchal relationship of the ‘is a kind of’ type
Information Hiding
defined as the process of hiding all details of an object that do not contribute to its essential characteristics e.g. seeing what cars can fit into a ferry, colour is irrelevant
Procedural Abstraction
involves breaking down a complex model into a series of reusable procedures e.g. for example, to calculate the area of a rectangle you could Calculate Area = width * height
Functional Abstraction
disregards the particular method of a procedure and results in just a function
Data Abstraction
where specific details of how data is represented is abstracted away, allowing new kinds of data structures to be created from previously defined data structures - this forms the basic types of abstract data types
Decomposition
breaking a problem down into a series of smaller subproblems, these can be solved individually or broken down further and solved until all parts of the original problems have been solved. – top down approach
Composition
also known as bottom-up programming
Automation
is the process of putting abstractions of real world phenomena (which are referred to as models) into action to solve problem
Problem Abstraction(sometimes known as reduction)
where details are removed from a problem until it is represented in a way that is solvable
Finite State Machines (double circle)
Indicates a circle is a valid stop state
Finite State Machines (circle)
Represents a state
Finite State Machines (arrow)
indicates how to move between states, if it loops back it means the state does not change with the input