abstraction.2

Cards (33)

  • 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.