The binary and hexadecimal number systems, their uses and how to convert numbers between different base systems.
Serial and parallel transmission of data, error checking after transmission, web browsers and internet service providers, and HTTP and HTML.
Logic gates, truth tables, logic circuits, and the use of Boolean algebra.
Operating systems, interrupts and buffers, computer architecture and the von Neumann computer model, and the fetch-execute cycle.
Systems are made of subsystems and these of further subsystems. Applying top-down design and structure diagrams
to simplify complex systems, combining sequence, selection and
iteration to design and produce effective and
efficient solutions to complex tasks. The importance of defining a problem, showing what is going to be
computed and how it is going to be computed, and the tools and
techniques that are used to design a software solution to the problem. A review of the uses of and the conventions for pseudocode and flowcharts. The importance of testing systems, identifying logical, syntax and runtime errors, how to dry run algorithms using trace tables, identifying appropriate valid, invalid and boundary data when testing systems.