IAL CS Assessment and Content Models V1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

IAL Computer Science

Proposed assessment and content models


Assessment model
All units are externally assessed.

There is a single assessment opportunity each year in May/June.

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

Name Foundations 1 Programming 1

Practical
Assessment Theory
Python 3.10 Only

Time 2 hours 3 hours

On-screen
On-screen
Method IDE of choice
Paper-based option
No Internet

Content Theory only Programming files only

Contribution 25% (50%) 25% (50%)

The AS consists of two teaching units, each separately assessed.

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

Name Foundations 2 Programming 2

Theory

Questions based on PLEs Practical

Assessment Haskell Java 21 only

Time 2 hours 3 hours

On-screen

On-screen IDE of choice

Method Paper-based option No Internet

Content Theory only Programming files

Contribution 25% 25%

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.

Practical laboratory exercises


The PLEs are more flexible than pre-release, as the labs will be available for centres to use when and where
they fit within their schemes of work.

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 1 and 3 set out content assessed from a theoretical perspective.

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:

• A computer with Internet access (Windows, Unix, Raspberry Pi, etc.)


• Productivity software (word processor, spreadsheet, PDF reader, etc.)
• Programming tools for operating systems
o Text file editor (Notepad++, etc.)
o Binary file editor (Hex Editor Neo, etc.)
• One or more integrated development environments
• Language translators
o Python 3
o Java 21
o Haskell or Scala
• Database software with a programming interface (MySQL, SQL Lite, PostgreSQL, etc.)

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.

Physical machines • Logical model (input, processing, output)


• Hardware components (memory, RAM, ROM, cache)
• Systems architecture (von Neumann, Harvard, CISC, RISC, stored program
concept)
• Instruction sets (opcodes, operands, addressing modes)
• Storage (secondary, latency)
System software • Bootstrap
• OS (interface management, peripheral management, file management)
Language • Procedural/imperative
paradigms • Python (example)
Tools • IDE
• Interpreter
• Compiler
• Libraries and 3rd party APIs
• Role of translators as abstractions
• Trace table
Data representation • Units (SI, IEC)
• Bases (2, 10, 16)
• Binary (unsigned, signed, two's complement, conversion, addition,
subtraction, overflow)
• Text and symbols (ASCII, Extended ASCII, Unicode)
• Sound (ADC, calculate file size)
• Bitmap (resolution, pixel, colour depth, metadata, calculate file size)
Security • Encryption (symmetrical, asymmetrical, digital certificate, digital signatures)
• Network (common threats, penetration testing, ethical hacking, firewall)
Constructing • Computational thinking (decomposition, abstraction)
algorithms • Algorithm
• Write (input, output, sequence, selection, repetition, iteration, relational
statements, logical statements)
• Flowchart (symbols)
Programming concepts 1
The content shown here is often referred to as the theory that underpins programming. It represents the
foundational knowledge and understanding all students must have. It is assessed from a theoretical
perspective in the Unit 1 exam. Some of these topics are also covered, from a programming perspective, in
Unit 2.

Standard algorithms • Linear search


• Binary search
• Insertion sort
• Bubble sort
• Brute force
• Divide and conquer
Computational • Decomposition
thinking • Abstraction
• Solution design
• Testing
• Evaluation
• Test data
• Logical reasoning
Fundamentals • Variables
• Constants
• Declaration
• Initialisation
• Assignment
• Sequence
• Selection
• Iteration
• Repetition
• Subprograms (procedures, functions, arguments, parameters)
• Scope (local, global)
• Operators (arithmetic, relational, logical)
Data types • Primitive (integer, real, character, Boolean)
• Composite (record)
Databases • Structure
• Schema (table, keys, relationships)
• SQL (create table, retrieve, update, insert, delete, wild cards, pattern
matching, join, union)
• API (what they are)
Mathematics for • Logical operators
computer science • Truth tables
• Big O

Unit 2: Programming and problem solving 1


The content of this unit is often referred to as programming. It represents the more practical counterpart to the
topics in Unit 1. It is assessed from a practical perspective in an on-screen exam.

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.

Abstract data • Fixed


structures • Dynamic
• Pointer
• Linked list
• Queue
• Stack
• Binary tree
• Hash table
• Composition from other types
Mathematics for • Boolean algebra
computer science • Karnaugh maps

Unit 4: Programming and problem solving 2


The content shown here is often referred to as programming. It represents the more practical counterpart to
the topics in Unit 3. It is assessed from a practical perspective in an on-screen exam. 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
• Objects
• Instantiation
• Assignment
• Sequence
• Decision making (selection, case)
• Loops (count-controlled, condition-controlled, pre-condition, post-
condition, repetition, iteration)
• Operators (arithmetic, logical, relational)
• Methods (procedures, functions, arguments, parameters, interfaces)
Working with data • Fixed
structures • Dynamic
• Pointer
• Linked list
• Queue
• Stack
• Binary tree
• Hash table
• Composition (set, record, class/object)
Techniques • Exception handling
• Text files (reading, writing)
• Binary files (serial, sequential)
• Random access (hashing)
• Reverse Polish Notation
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)

How is this proposal innovative?


• Streamlined content focused on fundamentals of computer science enables students to develop a
deeper understanding of the subject.
• Eliminating the need for pseudocode and pseudo-assembly language instruction sets enables students
to gain real-world computer science experiences.
• Avoiding any content overlap makes it easier to differentiate between IAL Computer Science and IAL
Information Technology, and doesn’t preclude students taking both qualifications.
• Eliminating the need for coursework frees up classroom time for teaching, and enables students to
focus on developing practical work, rather than writing up project documentation.
• The move to 100% external assessment, which is in line with current practice in the UK, reduces
opportunities for malpractice.
• The requirements for practical experience in at least two languages with different paradigms enables
students to see how programming constructs are supported across languages, and engage with
different computational thinking approaches to problem solving.

You might also like