The four basic structures used in structured programming are: assignment, sequence, selection and iteration.
Sequence: A series of instructions that the computer must carry out one after the other (linearly)
Selection: A decision making step; There are multiple paths that can be followed to complete the program depending on the input/s.
Iteration: Repetition or a loop. A selection of a program is repeated as many times as necessary to complete the task (until the argument is satisfied)
A high level language is: Close to natural language. Can be used to write computer programs which: can run on any computer platform. Requires no knowledge of hardware and must be translated into a low-level language to be used by a computer
All computer systems perform 4 operations: Input data, process data, store data & information and output data & information
Assignment is "giving" a value to a variable
Representational abstraction is representation by removing unnecessary details. Abstraction by generalisation: grouping common characteristics to arrive at a hierarchical structure.
Information hiding is the purposeful omission of details in the development of an abstract representation
Procedural abstraction: Abstracting "away" the actual values.
Decomposition: breaking a problem into a number of sub-problems, so that each sub-problem accomplishes a task
Data abstraction enables us to isolate how a compound data object is used from details of how it is constructed
Problem extraction: Details are removed until the problem is represented in a way that is possible to solve because it reduces to one that is already solved
automation is the process of creating software and systems to replace repeatable processes and reduce manual intervention
Problem Solving Logical Reasoning: The use of a set of facts (axioms) to draw conclusions and determine whether new information is true or false
Following and Writing Algorithms: Algorithms are a sequence of steps that can be followed to complete a task and that always terminates
Efficiency: A property of an algorithm that is related to the amount of resources (memory space and time in particular) that an algorithm uses in its execution
Hand-tracing: The process of looking at a program’s entire code or code extract and running through the instructions as though you are the computer
Pseudo-code: A human-readable method of writing the steps of an algorithm without any particular programming language
Abstraction by Generalisation or Categorisation: Simplifying a problem by grouping together common characteristics of a problem to arrive at a hierarchical relationship
Representational Abstraction: Simplifying a problem by only taking into consideration the necessary details required to obtain a solution, leaving a representation without any unnecessary details
Information Hiding: The process of hiding all details of an object that do not contribute to its essential characteristics
Procedural Abstraction: Simplifying a problem by breaking it down into a series of procedures or subroutines that are generalised with variable parameters
Procedure: The result of abstracting away the actual values used in any particular computation is a computational pattern or computational method
Finite State Machines (FSMs) Without Output Accepting States is an optional state of a FSM that indicates whether or not an input has been accepted by the FSM.
State Transition Tables are a tabular representation of a FSM that contains the current state, inputs and their consequent successor state.
Procedural Decomposition is the process of breaking down a problem into a number of sub-problems, so that each sub-problem accomplishes an identifiable task, which might itself be further subdivided.
Finite State Machines are a model of computation for a machine that is always in one of a fixed number of states.
Data Objects are data abstractions that hide details of how data are actually represented from the user.
Functional Abstraction simplifies a problem by breaking it down into a series of reusable functions which disregard the particular computational method.
Automation is the process of creating algorithms and implementing them as data structures and models of real-life situations that run without a significant need for human intervention.
Data Abstraction Composition is the process of combining data objects to form compound data.
Composition Abstraction is the reverse process of decomposition where a complex system of compound procedures is built from its smaller, simpler procedures.