Decomposition, abstraction and pattern recognition, algorithms, and searching and sorting.
Designing algorithms with flowcharts and pseudocode, and tracing them with trace tables.
Variables, constants, data types, operators, and input and output.
Conditional statements, and definite and indefinite loops.
Procedures and functions, parameters, arrays, and string manipulation.
Error types, test data, validation and verification, and writing robust, maintainable code.
Binary, denary and hexadecimal, conversions, binary arithmetic and two's complement.
How text, images and sound are represented in binary, and compression.
The CPU and the fetch-execute cycle, components, and input and output devices.
RAM and ROM, secondary storage types, the operating system, and application software.
The logic gates, truth tables, and Boolean expressions.
Network types and topologies, hardware, protocols, and the internet.
Cyber threats and protection, and the legal, ethical and environmental impact of computing.
Artificial intelligence and machine learning, automation and robotics, and their impact on society.