Unit 1 AoS2 - Programming: Key Knowledge
Programming Trends and Responsible Development
- 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