Algorithms and Code Design

6. Algorithms and Code Design#

Syllabus Points Covered
Programming fundamentals
Software development
  • Explore fundamental software development steps used by programmers when designing software

    • requirements definition

    • determining specifications

    • design

    • development

    • integration

    • testing and debugging

    • installation

    • maintenance

  • Research and evaluate the prevalence and use of online code collaboration tools

Designing algorithms
  • Apply computational thinking and algorithmic design by defining the key features of standard algorithms, including sequence, selection, iteration and identifying data that should be stored

  • Apply divide and conquer and backtracking as algorithmic design strategies

  • Develop structured algorithms using pseudocode and flowcharts, including the use of subprograms

    • Pseudocode

    • Flowcharts

  • Use modelling tools including structure charts, abstraction and refinement diagrams to support top-down and bottom-up design

  • Analyse the logic and structure of written algorithms

    • determining inputs and outputs

    • determining the purpose of the algorithm

    • desk checking and peer checking

    • determining connections of written algorithms to other subroutines or functions

Data for software engineering
  • Create data dictionaries as a tool to describe data and data types, structure data, and record relationships

Developing solutions with code
  • Compare the execution of the Waterfall and Agile project management models as applied to software development

  • Test and evaluate solutions, considering key aspects including functionality, performance, readability of code, quality of documentation

The object-oriented paradigm
Understanding OOP
  • Use data flow diagrams, structure charts and class diagrams to represent a system

    • Structure charts

Chapter Contents