Develop Algorithms#

Tools used:

  • Class Diagrams

  • Pseudocode

  • IPO Tables

  • Desk-checking

For Unit 1 to 4#

Algorithms are the heart of your program, so we spend a bit of effort in designing them.

You will use the following tools to design your algorithms. You will work with them in no particular order, and will most likely move back a forth between them.

Class Diagram#

class diagram

IPO Tables#

IPO example

Desk Checking#

desk check

For Units 2 to 4#

In additional to the requirements from Unit 1, for Units 2 to 4 you will need to create IPO tables for the operation of the Database.

Specifically you will need tables for:

  • Creating the database

  • Processing data for insertion

  • Manipulation of data

  • Retrieval of data

Unit 1 subject matter covered:

  • recognise and describe programming syntax and rules

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

  • understand and use assignment, sequence, selection, condition, iteration, and modularisation

  • 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

  • symbolise algorithms and interrelationships with sketches and diagrams

  • understand the five basic features of programming – variables, control structures, data structures, syntax and libraries and classes.

  • recognise, describe and use good programming practices, including dependability, efficiency, testing, debugging, error correction, coding conventions including commenting, consistent naming conventions, code simplicity and portability

  • identify and describe the purpose of code syntax and rules

  • identify and describe the scope and use of local and global variables

  • identify and describe code object/event triggers and their effect on user interfaces [QCAA, 2017]

Unit 2 subject matter covered:

  • 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 [QCAA, 2017]

Unit 3 subject matter covered:

  • 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

  • analyse modularity and readability of program modules

  • apply computational thinking processes, e.g. creating, debugging, persevering and collaborating to identify possible algorithmic approaches [QCAA, 2017]

Unit 4 subject matter covered:

  • symbolise and explain how application sub-systems, e.g. front end, back end, work together to constitute a solution

  • develop simple Caesar, Polyaphabetic (e.g. Vignere and Gronsfeld), and one-time pad encryption algorithms

  • evaluate by desk checking algorithms to predict the output for a given input, identify errors and validate algorithms [QCAA, 2017]