The current and official versions of the course specifications are available on the web at .
Please consult the web for updates that may occur during the year.
After presenting the history and underlying technologies of programming, the course introduces the concept of problem-solving using pseudocode before introducing different syntaxes and kinds of programming languages. The mechanics of producing and running program code is then introduced to establish a platform in which to learn and apply fundamental programming concepts such as basic data types, expressions, and control structures. The course emphasises the application of programming strategies, such as decomposition, and best practice to create sound solutions to substantial problems.