IPO Tables#

IPO tables are used to develop your algorithms. They are made up of three columns:

  • Inputs: Lists all the information/actions this section needs.

  • Process: Contains the pseudocode for this algorithm, following QCAA pseudocode rules

  • Output: Lists all the information/actions that result from this section.

IPO Table

Each IPO Table should represent one method (functions) with the Use Case Diagram informing what those methods should be. There is no need to represent all of your methods in IPO tables, but rather you need to show the more complicated or tricky code.

Coverage#

Across all you IPO Tables you should have examples of all the following algorithm components:

  • sequence

  • assignment

  • condition

  • selection

  • iteration

  • modularisation

Summary#

IPO summary poster

Unit 1 subject matter covered:

  • Understand that simple algorithms consist of input, process and output at various stages

  • Represent algorithms using pseudocode by identifying and describing the steps and their behaviour in the algorithm

  • Represent algorithms using pseudocode by identifying and explaining the algorithmic steps required for a programmed solution [QCAA, 2017]

Unit 2 subject matter covered:

  • Symbolise algorithmic steps as pseudocode

  • Understand that simple algorithms consist of input, process and output at various stages

  • Symbolise well-ordered and unambiguous algorithms using pseudocode for procedural code that processes data for insertion into a database or manipulates or displays retrieved data

  • Symbolise well-ordered and unambiguous algorithms using pseudocode for user interaction, data validation and data presentation

  • Understand and use the basic constructs of an algorithm including assignment, sequence, selection, condition, iteration and modularisation [QCAA, 2017]

Unit 3 subject matter covered:

  • Generate a conceptual model of a possible solution by applying systems thinking that identifies system boundaries, properties, inputs and outputs, user interface, system controls

  • Recognise and describe program components such as objects, event handlers and multimedia assets

  • Recognise and describe external data stores such as file structures or object libraries

  • Recognise and describe internal data structures such as arrays, lists and dictionaries

  • Generate ideas using innovation and collaboration

  • Recognise and use the basic constructs of an algorithm including assignment, sequence, selection, condition, iteration and modularisation

  • Recognise and use appropriate pseudocode conventions

  • Understand that simple algorithms consist of input, process and output

  • Symbolise well-ordered and unambiguous algorithms using pseudocode for procedural code that processes data for insertion into a database or manipulates or displays retrieved data

  • Symbolise well-ordered and unambiguous algorithms using pseudocode for user interaction, data validation and data presentation

  • Generate generic pseudocode suitable for a variety of programming languages to communicate requirements for programmed components

  • Generate pseudocode to solve defined problems [QCAA, 2017]

Unit 4 subject matter covered:

  • Generate a well-ordered and unambiguous algorithm to solve defined problems using pseudocode

  • Recognise and describe how simple algorithms consist of input, process and output at various stages

  • Symbolise and explain the basic constructs of an algorithm, including assignment, sequence, selection, condition, iteration and modularisation

  • Symbolise representations of a digital solution

  • Symbolise algorithmic steps as pseudocode

  • Develop simple Caesar, Polyaphabetic (e.g. Vignere and Gronsfeld), and one-time pad encryption algorithms [QCAA, 2017]