登录

Algorithm Design And Problem-solving

Algorithms

Candidates should be able to:

1. Understand the program development life cycle, limited to: analysis, design, coding and testing

Note and guidance
  • Including identifying each stage and performing these tasks for each stage:

    • analysis: abstraction, decomposition of the problem, identification of the problem and requirements

    • design: decomposition, structure diagrams, flowcharts, pseudocode

    • coding: writing program code and iterative testing

    • testing: testing program code with the use of test data

2. - Understand that every computer system is made up of sub-systems, which are made up of further sub-systems

  • Understand how a problem can be decomposed into its component parts

  • Use different methods to design and construct a solution to a problem

Note and guidance
  • Including:

    • inputs

    • processes

    • outputs

    • storage

  • Including:

    • structure diagrams

    • flowcharts

    • pseudocode

3. Explain the purpose of a given algorithm

Note and guidance
  • Including:

    • stating the purpose of an algorithm

    • describing the processes involved in an

algorithm

4. Understand standard methods of solution

Note and guidance
  • Limited to:

    • linear search

    • bubble sort

    • totalling

    • counting

    • finding maximum, minimum and average values

5. - Understand the need for validation checks to be made on input data and the different types of validation check

  • Understand the need for verification checks to be made on input data and the different types of verification check

Note and guidance
  • Including:

    • range check

    • length check

    • type check

    • presence check

    • format check

    • check digit

    • the purpose of each validation check and writing algorithms to implement each validation check

  • Including:

    • visual check

    • double entry check

6. Suggest and apply suitable test data

Note and guidance
  • Limited to:

    • normal

    • abnormal

    • extreme

    • boundary

  • Extreme data is the largest/smallest acceptable value

  • Boundary data is the largest/smallest acceptable value and the corresponding smallest/largest rejected value

7. Complete a trace table to document a dry-run of an algorithm

Note and guidance
  • Including, at each step in an algorithm:

    • variables

    • outputs

    • user prompts

8. Identify errors in given algorithms and suggest ways of correcting these errors

Note and guidance
  • Asymmetric encryption includes the use of public and private keys

9. Write and amend algorithms for given problems or scenarios, using: pseudocode, program code and flowcharts

Note and guidance
  • Precision is required when writing algorithms, e.g. x > y is acceptable but x is greater than y is not acceptable

  • pseudocode

  • flowcharts

登录