Theory of Computation Flashcards
Problem solving
The process of finding a solution to a difficult or complex issue
Algorithms
- A sequence of steps that can be followed to complete a task
- They always terminate rather than going on forever in a loop
Assignment
The process of giving a value to a variable or constant
Sequence
Instruction that are executed sequentially
Selection
The process of choosing an action to take based on the result of a comparison of values
Iteration
The process of repeating an operation
Abstraction
The name given to omitting unnecessary details from a problem, simplifying the solution
Representational abstraction
A representation of a problem arrived at by removing unnecessary details from the problem
Abstraction by generalisation
A grouping by common characteristics to arrive at a hierarchical relationship of the
“is a kind of” type
Information hiding
The process of hiding all details of an object that do not contribute to its essential characteristics
Procedural abstraction
- Breaking down a complex model into a series of reusable procedures
- The actual values used are abstracted away to achieve a computational method
Functional abstraction
Abstracting the result of procedural abstraction, disregarding the particular method to leave just a function
Data abstraction
Specifies details of how data is actually represented, allowing for new kinds of data structures to be created
Problem abstraction
Details are removed from a problem until it is represented in a way that is solvable
Decomposition
A problem is divided into a series of smaller sub-problems that can be solved individually or further divided
Composition
Used to combine procedures to form a larger system
Automation
The process of putting abstractions of real world phenomena into action to solve
problems
Set
An abstract data type that contains unordered, unique values (that can be other sets)
Set comprehension
An alternative way of creating a set that selects the kind of values it wants from a larger set, instead of specifying each item individually
Empty sets
Sets that contain 0 elements. A = {}
Finite sets
A set with a limited number of elements
Infinite sets
A set with an unlimited number of elements
Countably infinite sets
An infinite set where you can list the elements in a sequence
Uncountably infinite sets
An infinite set where the elements cannot be listed in a sequence