Skip to content

Unit 1 AoS2 - Programming: Key Knowledge

  • emerging trends in programming languages and AI-based code generators
  • low-code development approaches
  • readability and maintainability improvements
  • legal requirements relating to intellectual property and copyright when designing and developing software

Requirements and Design

  • characteristics of functional and non-functional requirements, constraints and scope
  • design tools for representing the functionality and appearance of a solution:
  • mock-ups
  • IPO charts
  • flowcharts
  • pseudocode

Data Types and Data Structures

  • characteristics of relevant data types:
  • text
  • numeric
  • Boolean
  • types of data structures:
  • one-dimensional arrays
  • lists
  • records

Object-Oriented Programming

  • principles of OOP:
  • abstraction
  • encapsulation
  • programming language features:
  • variables and storing data
  • sequence, selection and iteration
  • arithmetic, logical and conditional operators
  • procedures, functions and methods

Code Quality and Validation

  • naming conventions for solution elements, including Hungarian notation and camel casing
  • purposes of internal documentation, including explaining data and code structures and supporting maintenance
  • validation techniques:
  • existence checking
  • type checking
  • range checking

Debugging and Testing

  • debugging and testing techniques for checking software solutions function correctly:
  • test tables comparing expected and actual output
  • construction of relevant test data
  • breakpoints
  • debugging output statements