3.0 Subject content

This subject content should be taught within a range of realistic contexts based around the major themes in the specification. To gain the most from the specification, a number of the sections will benefit from being taught holistically. For example, algorithms could be taught alongside programming techniques as there is a close relationship between them.

The specification content in Sections 3.1–3.8 is presented in a two-column format. The left hand column contains the specification content that all students must cover and that is assessed in the written papers. The right hand column exemplifies the additional information that teachers will require to ensure that their students study the topic in an appropriate depth and, where appropriate, gives teachers the parameters in which the subject will be assessed.

The skills, knowledge and understanding from all of the subject content within the specification will be assumed in all assessments. Both assessments may contain synoptic questions that will require students to use their skills, knowledge and understanding from across the entire specification. For example, whilst the understanding of binary numbers will be directly assessed in paper 2, the underlying knowledge and principles may be indirectly required for questions in paper 1.

For exams from 2022, we will support the following programming languages:

  • C#
  • Python (version 3)
  • VB.NET.

In paper 1 students will be required to design, write, test and refine program code in one of the three languages above.

In preparation for paper 1, students should have sufficient practical experience of:

  • structuring programs into modular parts with clear documented interfaces to enable them to design appropriate modular structures for solutions
  • including authentication and data validation systems/routines within their computer programs
  • writing, debugging and testing programs to enable them to develop the skills to articulate how programs work and argue using logical reasoning for the correctness of programs in solving specified problems
  • designing and applying test data (normal, boundary and erroneous) to the testing of programs so that they are familiar with these test data types and the purpose of testing
  • refining programs in response to testing outcomes.

In preparation for paper 2 students should have sufficient practical experience of writing and refining SQL.

Students should be given as much opportunity as possible to practise their programming skills in the school or college's chosen language and SQL.