Professional Documents
Culture Documents
IAL CS Assessment and Content Models V1
IAL CS Assessment and Content Models V1
IAL CS Assessment and Content Models V1
Practical work is the foundation of computer science. Practical assessment is 50% of this qualification. Unit 2
and Unit 4 are practical assessments, where students write coded solutions to problems. Unit 3 includes
written assessment of practical work carried out in practical laboratory exercises (PLEs). Completion of the
PLEs does not contribute directly to the qualification grade, nor is there a requirement for them to be
certificated. Pearson supplies the PLEs. A description of a PLE is provided in the practical laboratory exercise
section below.
AS
Unit 1 Unit 2
Practical
Assessment Theory
Python 3.10 Only
On-screen
On-screen
Method IDE of choice
Paper-based option
No Internet
Unit 1:
• Conventional exam, delivered using an on-screen form, into which students input their answers
directly.
• Two hours long, and assesses the theoretical content only.
• This paper accounts for 50% of AS and 25% of A Level.
• A paper-based alternative is available for use by those centres without the necessary infrastructure to
support an on-screen, online assessment.
Unit 2
• On-screen exam.
• Three hours long, and assesses practical programming only.
• This paper accounts for 50% of AS and 25% of A Level.
• Students are provided with a paper copy of the questions and a set of programming and data files.
• All programming tasks are completed using Python 3.10.
• Students read the questions on the paper, load the required files, amend the required files, and save
the files using the file names provided.
• They use an Integrated Development Environment (IDE) of their choice.
• Internet access is not permitted.
The knowledge and understanding of programming, assessed in Unit 2, is supported by some of the content of
Unit 1. For example, in Unit 1 students learn what a stack data structure is and how it works, while in Unit 2
students learn how to program the operations to implement a stack data structure. In addition, in Unit 1
students learn about database schemas, while in Unit 2 students learn how to programmatically access data
in an existing database.
A Level
Unit 3 Unit 4
Theory
On-screen
The A Level consists of four teaching units, two in AS and two in A Level, each separately assessed.
Unit 3
• Conventional exam, delivered using an on-screen form, into which students input their answers
directly.
• Two hours long, and assesses theoretical content.
• This paper accounts for 25% of A Level.
• A paper-based alternative is available for use by those centres without the necessary infrastructure to
support online delivery.
• The A Level also includes a set of PLEs, which students must complete. The knowledge and
understanding gained by completing the PLEs is assessed in the Unit 3 examination.
Unit 4
• On-screen exam.
• Three hours long, and assesses practical programming only.
• This paper accounts for 25% of A-level.
• Students are provided with a paper copy of the questions and a set of programming and data files.
• All programming tasks are completed using Java 21.
• Students read the questions on the paper, load the required files, amend the required files, and save
the files using the file names provided.
• They use an Integrated Development Environment (IDE) of their choice. Internet access is not
permitted.
The knowledge and understanding of programming, assessed in Unit 4, is supported by some of the content of
Unit 3. For example, in Unit 3 students learn the features of object-oriented programming languages
(encapsulation, polymorphism), while in Unit 4 students demonstrate mastering these features, using Java.
The functional programming paradigm is addressed using the Haskell programming language. It is assessed in
Unit 3 only. Students should have practical experience of using Haskell and may be presented with Haskell
program code in the Unit 3 assessment.
The scope of this document does not extend to the design of a PLE. However, the plan would be to enlist the
help of other organisations that support teachers. In collaboration, exercises to fit the topic content would be
developed. The approached organisations could include the Raspberry Pi Foundation, National Centre for
Computing Education (NCCE), and Arm.
Ideally, the exercises would be developed to use inexpensive hardware and creative commons licensed
software.
Content model
The qualification has a modular structure. The International Advanced Subsidiary (IAS) qualification consists of
two units and the International Advanced Level (IAL) consists of four units. Each unit requires 90 guided
learning hours, for a total of 180 (IAS) and 360 (IAL).
The content shown here is presented by year. The AS Level is the first year and the A Level is the second year.
Each year consists of two units. Units 1 and 2 are taken during the first year, and Units 3 and 4 are taken during
the second year.
Units 2 and 4 set out content assessed from a practical programming perspective.
Should the qualification reach the specification design stage, the content will be revisited and further clarified.
There has been a deliberate intention to avoid the overlap of IAL CS content with IAL IT so that students could
potentially opt to take both qualifications. A couple of topics in IT complement topics in CS but students study
them from a different perspective, e.g. in IT the focus is on database modelling and normalisation, whereas in
computer science it is on writing code to extract information from data stored in databases.
Resource requirements
In order to engage with the content, students need access to:
AS level
Unit 1: Principles of computer science 1
The content of this unit is often referred to as the theory of computer science. It represents the foundational
knowledge and understanding all students must have.
Principles 1
The content shown here is assessed from a theoretical perspective in a conventional exam. However, students
will benefit from having practical experience of these topics, where it can be facilitated in a centre.
Students will benefit from repeated opportunities to practise the use of tools and techniques to design and
produce solutions to problems by writing programs.
Constructing • Data types
solutions • Variables
• Constants
• Assignment
• Sequence
• Decision making (if, if/elif/else, match)
• Loops (count-controlled, condition-controlled, pre-condition, repetition,
iteration)
• Scope (local, global)
• Operators (arithmetic, logical, relational)
• Subprograms (procedures, functions, arguments, parameters, interfaces)
Working with data • Arrays (1D, 2D)
structures • Records
• Fixed-length (indexing, update)
• Dynamic (in-built functions, create, indexing, add, insert, delete)
• Strings (array of character, indexing, in-built functions)
Techniques • Exception handling
• Type conversion
• Text files (reading, writing)
• Maintenance and readability
Database • API Calls (what, how to enable)
programming • SQL
o Create table
o Retrieve records
o Update records
o Insert records
o Delete records
o Wild cards
o Pattern matching
o Join
Computational • Decomposition (blocks of code, subprograms)
thinking • Abstraction (data structures, subprograms)
• Generalisations (subprograms)
• Algorithm design (evidenced by code)
• Testing (create test data, apply tests)
• Evaluation (meets requirements)
A level
Unit 3: Principles of computer science 2
The content of this unit is often referred to as the theory of computer science. It builds on the foundational
knowledge and understanding covered in Unit 1. It is assessed from a theoretical perspective in a conventional
exam. However, students will benefit from having practical experience of these topics, where it can be
facilitated in a centre.
Principles 2
Embedded systems • Define (how they work, need for, benefits, drawbacks)
• Monitoring/control (sensors, feedback)
System software • Memory management (paging)
• Hardware management (I/O, peripherals, interrupts)
• Process management (scheduling)
• Virtual memory (how, how)
Language • OOP (Java)
paradigms o Classes (attributes, methods)
o Scope (local, global)
o Instantiation
o Encapsulation
o Inheritance
o Composition
o Polymorphism
• Functional (Haskell, Scala)
Tools • Compilation (lexical, syntactical, semantic, generation, optimisation)
• Linkers
• Outputs (bytecode, object code, executable)
Data representation • Vector (what, properties, primitives)
• Floating point (normalisation, underflow, approximation)
Protocols • Transmission modes (direction, serial, parallel, synchronous)
• Data transfer (bit rate)
• Layered stacks (TCP/IP, OSI)
Digital technologies • Machine learning (clustering, segmentation, Bayes theorem)
Professionalism • Ethics (why)
• Organisations (BCS, IEEE, ACM)
• Communities of practice
• Impact of behaviours
Programming concepts 2
The content here is often referred to as the theory that underpins programming. It builds on the foundational
knowledge and understanding covered in Unit 1. It is assessed from a theoretical perspective in the Unit 3
exam. Some of these topics are also covered, from a programming perspective, in Unit 4.