There are three strands in the Computer Science specification: Practices and principles, Core concepts and Computer science in practice. All three strands are interwoven and should be studied concurrently at different stages of the course and should not be studied in a linear order. Skills and knowledge learned in strands 1 and 2 are applied to collaborative learning tasks outlined in strand 3. In that way, the applied learning tasks provide further practical context. Student application in the strand 3 learning tasks should increase in complexity and sophistication, thus developing and deepening the skills and knowledge learned in strands 1 and 2.
The overarching practices and principles of computer science are the behaviours and ways of thinking that computer scientists use. This strand underpins the specification and is fundamental to all learning activities. By becoming familiar with, and fluent in, the practices and principles that underpin good practice, students develop their ability to manage themselves and their learning across the subject.
The core concepts of computer science represent the major areas in the field of computer science: abstraction, data, computer systems, algorithms and evaluation/testing. Students engage with the core concepts theoretically and practically in this strand. As their skills and knowledge develop, they engage in the applied learning tasks outlined in strand 3. Conceptual and practical classroom-based learning is combined with experimental computer-based learning throughout the two years of the course.
Computer science in practice provides multiple opportunities for students to apply the practices and principles and the core concepts. Students work in teams to carry out four applied learning tasks over the duration of the course, each of which results in the creation of a real or virtual computational artefact. These artefacts should relate to the students’ lives and interests. Where possible, the artefacts should be beneficial to the community and society in general. Examples of computational artefacts include programs, games, web pages, simulations, visualisations, digital animations, robotic systems, and apps.
The four applied learning tasks explore the four following contexts: Interactive information systems, Analytics, Modelling and simulation, and Embedded systems. The tasks provide opportunities for students to develop their theoretical and procedural understanding as they grapple with computer science practices, principles and core concepts in increasingly sophisticated applications.
 A computational artefact is anything created by a human using a computer.
The output from each task is a computational artefact and a concise individual report outlining its development. In the report, students outline where and how the core concepts were employed. The structure of the reports should reflect the design process shown above in Figure 3. Initial reports could be in the form of structured presentations to the whole class. As students progress, reports should become detailed and individual. Reports are collected in a digital portfolio along with the computational artefact and must be verified as completed by both the teacher and the student. The (separate) externally-assessed coursework will be based on all learning outcomes, with those of strand 3 being particularly relevant.