NIS 2025 · Cambridge AS & A Level 9618

Learn CS with
mr. TEA

Structured knowledge base for grades 11–12. Computer Science theory and Python programming — aligned with NIS and Cambridge standards.

Python Hardware Databases Security Networks

Assessment Hub

Mock exams and resources aligned with NIS and Cambridge standards

Mock Exams

Access Papers

Computer Science Theory

Paper 1 Paper 2 NIS 2025
Paper 1 Paper 2 Paper 3
Resources

Guides & Past Papers

Guides, Mark Schemes and Cambridge Past Papers.

Guides Mark Schemes Past Papers
Browse Resources

Interactive Lab

Hands-on simulators and tools for deeper understanding

Python Compiler

Write, run and debug Python code directly in your browser. Instant feedback on your solutions.

Data Representation Lab

Custom 16-bit floating point (12m/4e) and Number Systems converter. Aligned with Cambridge 9618.

Logic Gates

Build and test logic circuits with AND, OR, NOT, NAND, NOR, XOR gates. Generate truth tables automatically.

LMC Emulator

Little Man Computer emulator. Write assembly-level programs and step through execution cycle by cycle.

Full Syllabus

Complete NIS 2025 learning objectives — Grades 11 & 12

Grade 11 — Computer Science (CS)

Term 1
11.1A Data Representation
Topic Learning Objectives
Number Systems
  • 11.1.1.1 explain the differences between the binary, decimal and hexadecimal number systems
  • 11.1.1.2 convert numbers between the binary, decimal and hexadecimal number systems
  • 11.1.1.3 explain the advantages of using hexadecimal numbers in computer systems
  • 11.1.1.4 perform arithmetic operations of addition and multiplication with binary numbers
Image & Sound Representation
  • 11.1.1.5 explain how bitmap images are represented in terms of number of pixels, resolution, and color depth
  • 11.1.1.6 calculate the size of a bitmap image file
  • 11.1.1.9 describe the digital representation of sound in terms of sampling rate and resolution
  • 11.1.1.10 explain why analogue sound data needs to be converted into binary digits
  • 11.1.1.11 calculate the size of an audio data file
Text Representation (ASCII/Unicode)
  • 11.1.1.7 compare Unicode and ASCII
  • 11.1.1.8 calculate the number of bytes required to store a text fragment
11.1B Software & Operating Systems
Topic Learning Objectives
Software Categories
  • 11.3.1.1 classify software
  • 11.3.1.2 describe the purpose of the OS, utilities, libraries, translators
  • 11.3.1.3 describe the purpose of applications of subcategories: general purpose, special purpose, bespoke
  • 11.3.1.4 justify the choice of software for the implementation of a new system
Operating Systems & Types
  • 11.3.1.5 describe the main functions of operating systems
  • 11.3.1.6 compare single-user and multi-user operating systems
  • 11.3.1.7 compare single-tasking and multitasking operating systems
  • 11.3.1.8 describe the features of a real-time operating system
  • 11.3.1.9 describe the features of a network operating system
  • 11.3.1.10 describe the features of a batch processing operating system
User Interfaces (GUI/CLI/NLI/GRI)
  • 11.3.1.11 identify the advantages and disadvantages of graphical user interface (GUI)
  • 11.3.1.12 identify the advantages and disadvantages of command line interface (CLI)
  • 11.3.1.13 compare the graphical user interface (GUI) and the command line interface (CLI)
  • 11.3.1.14 explain the advantages and disadvantages of Natural Language Interfaces (NLI) and Gesture Recognition Interfaces (GRI)
Hardware Requirements
  • 11.3.2.1 determine the minimum hardware requirements for implementing a new system
11.1C System Development Life Cycle
Topic Learning Objectives
SDLC Models
  • 11.2.1.1 define the main stages of the system development life cycle
  • 11.2.1.2 evaluate the advantages and disadvantages of system development models, including Waterfall, Agile and Spiral
Data Analysis
  • 11.2.1.3 describe data collection methods
  • 11.2.1.4 compare qualitative and quantitative methods of data analysis
  • 11.2.1.5 use data collection methods to develop a new system
  • 11.2.1.6 compare alternative solutions to a problem
Term 2
11.2A System Design
Topic Learning Objectives
Data Flow Diagram (DFD)
  • 11.2.2.1 create a first-level data flow diagram (DFD) to represent input, processing, storage, and output in computing systems
Entity Relationship Diagrams
  • 11.2.2.2 create entity-relationship diagrams (ERD)
Flowcharts
  • 11.2.2.3 develop flowcharts to represent processes in computing systems
Prototyping
  • 11.2.2.4 describe the advantages and disadvantages of using prototypes in system development
  • 11.2.2.5 develop a prototype of a system interface, including input and output forms
System Implementation Methods
  • 11.2.2.6 list the methods of system implementation
  • 11.2.2.7 compare the advantages and disadvantages of system implementation methods
11.2B Databases & SQL
Topic Learning Objectives
Relational Databases
  • 11.4.1.1 describe relational databases and their purpose
  • 11.4.1.2 use the terms "table", "attribute", "record", and "index" to describe databases
  • 11.4.1.3 explain the difference between primary, foreign and composite keys
  • 11.4.1.4 define data types in an SQL database
  • 11.4.1.11 create a database with multiple tables for a new system
Data Dictionary
  • 11.4.1.5 explain the purpose of a data dictionary
  • 11.4.1.6 create a data dictionary for database tables
Normalization
  • 11.4.1.7 describe the types of relationships between tables in a database
  • 11.4.1.8 define relationships between tables in a relational database
  • 11.4.1.9 list the normalisation rules for the first, second and third normal forms
  • 11.4.1.10 normalise a database to the third normal form
SQL (DDL & DML)
  • 11.4.2.1 compare data definition language (DDL) and data manipulation language (DML)
  • 11.4.2.2 create a database structure using DDL commands: CREATE, ALTER and DROP
  • 11.4.2.3 use SQL SELECT, UPDATE, INSERT and DELETE queries to manage data in a single table
  • 11.4.2.4 use the SELECT command to extract data from multiple tables
  • 11.4.2.5 use the ORDER BY command to sort the retrieved data from a query
Term 3
11.3A Algorithms and Data Structures
Topic Learning Objectives
1D, 2D Arrays
  • 11.5.2.1 write program code using a one-dimensional array
  • 11.5.2.2 write program code using a two-dimensional array
11.3B Web Design
Topic Learning Objectives
Web Page Structure
  • 11.5.3.1 identify common elements of a web page structure
HTML/CSS
  • 11.5.3.2 create an interface using HTML and CSS
  • 11.5.3.4 create HTML forms for data entry
Site Navigation
  • 11.5.3.3 implement site navigation
CSS Implementation Types
  • 11.5.3.5 compare CSS implementation types
  • 11.5.3.6 use CSS when designing a website
11.3C Programming and Testing Programs
Topic Learning Objectives
Script: Selection & Iteration
  • 11.5.4.1 use algorithmic selection structures in a script language
  • 11.5.4.4 apply an iterative algorithmic structure in a script language
Validation & Verification
  • 11.5.4.2 explain the difference between data verification and data validation
  • 11.5.4.3 apply data verification and validation in program code
Script & Database
  • 11.5.4.5 use a procedural scripting language to connect to a database
  • 11.5.4.6 use a procedural scripting language to process HTML form data
  • 11.5.4.7 write program code to add data to a database
  • 11.5.4.8 write program code to extract data from a database
Good Programming Style
  • 11.5.4.9 follow the rules of good programming style when writing program code
Testing (Normal/Boundary/Erroneous)
  • 11.5.4.10 perform testing using normal data
  • 11.5.4.11 perform testing using boundary data
  • 11.5.4.12 perform testing using erroneous data
Program Errors (Syntax/Logical/Runtime)
  • 11.5.4.13 describe a syntax error in program code
  • 11.5.4.14 describe a logical error in program code
  • 11.5.4.15 describe a runtime error in program code
Term 4
11.4A Information Security
Topic Learning Objectives
Data Protection
  • 11.1.2.1 explain the difference between data availability, data privacy and data integrity
  • 11.1.2.2 describe physical risks of data loss
Backup & Mirroring
  • 11.1.2.3 compare the use of data backup and disk mirroring for data protection
Malware & Protection Measures
  • 11.1.2.4 analyse the problems caused by malware
  • 11.1.2.5 describe data protection measures against malware
Firewalls
  • 11.1.2.6 describe how a firewall protects a computer system
11.4B Artificial Intelligence
Topic Learning Objectives
AI in Society
  • 11.4.3.1 identify the advantages and disadvantages of using artificial intelligence in society
Virtual & Augmented Reality
  • 11.4.3.2 explain the purpose of virtual and augmented reality
AI vs Machine Learning vs Deep Learning
  • 11.4.3.3 identify the differences between artificial intelligence, machine learning and deep learning
11.4C Communication and Networks
Topic Learning Objectives
LAN & WAN / Intranet & Internet
  • 11.6.1.1 compare the capabilities of local area networks (LAN) and wide area networks (WAN)
  • 11.6.1.2 distinguish between the features of an Intranet and the Internet
Client-Server & Peer-to-Peer
  • 11.6.1.3 distinguish between the features of client-server and peer-to-peer models
Wired & Wireless Connections
  • 11.6.1.4 compare the advantages and disadvantages of wireless and wired connections
Network Topology
  • 11.6.1.5 describe the advantages and disadvantages of network topologies: bus, ring, star, and mesh
Network Hardware
  • 11.6.1.6 explain the purpose of network devices: repeater, hub, switch, router, and gateway
IP & MAC Address
  • 11.6.2.1 describe the purpose of an IP address
  • 11.6.2.2 describe the role of the MAC address in packet routing
URL & DNS
  • 11.6.2.4 describe the purpose and organization of the Domain Name System (DNS)
  • 11.6.2.5 describe the structure of a URL
Network Protocols
  • 11.6.2.3 explain the role of network protocols (HTTP, FTP, POP3, SMTP, HTTPS, FTPS)
Recap game
  • For preparing to summative assessment.

Grade 11 — Programming (PROG)

Term 1
11.1A Introduction to Python
Topic Learning Objectives
Output & Escape Sequences
  • 11.1.1.1 organize data output
  • 11.1.1.2 use the escape sequences with data output
Data Types & Type Conversion
  • 11.1.1.3 distinguish between data types in Python
  • 11.1.1.4 convert data types of variables
Input & Arithmetic Operations
  • 11.1.1.5 organize keyboard inputs
  • 11.1.1.6 use arithmetic operations when solving problems
Boolean Logic & Branching
  • 11.1.1.7 apply logic operations to Boolean variables
  • 11.1.1.8 use logical operations AND, OR, NOT in selection structure
  • 11.1.1.9 implement the branching algorithm according to the flowchart
While Loop & Flowcharts
  • 11.1.2.1 write program code using a While loop
  • 11.1.2.2 implement a loop algorithm according to a flowchart
For Loop & Range
  • 11.1.2.4 write program code using a For loop
  • 11.1.2.5 define a range of values for a loop
Nested Loops
  • 11.1.2.7 use nested loops when solving problems
Tracing & Debugging
  • 11.1.2.3 trace program code
  • 11.1.2.6 debug a program
Term 2
11.2A Collections and Data Structures
Topic Learning Objectives
Creating Sets
  • 11.2.1.1 create sets
  • 11.2.1.2 use operations of adding, deleting, counting the number of elements
Set Operations & Comparison
  • 11.2.1.3 apply operations to sets: union, intersection, subtraction, symmetric difference
  • 11.2.1.4 compare sets
String Indexing & Slicing
  • 11.2.2.1 perform access to the elements of strings, lists, tuples
  • 11.2.2.2 use slicers to process the string
String Methods
  • 11.2.2.3 apply functions and string processing methods
Creating Lists & split/join
  • 11.2.3.1 create a list
  • 11.2.3.2 organize the output of a string using the split() and join() methods
List Methods
  • 11.2.3.3 apply functions and methods of processing lists
Tuples & Type Conversion
  • 11.2.4.1 create a tuple
  • 11.2.4.2 convert from one data structure to another
Term 3
11.3A Data structures (continuation)
Topic Learning Objectives
Dictionaries
  • 11.2.5.1 create a dictionary
  • 11.2.5.2 search for data in a dictionary for a given key
List & String Methods
  • 11.2.3.3 apply functions and methods of processing lists
  • 11.2.2.3 apply functions and methods of processing strings
11.3B Functions
Topic Learning Objectives
Functions
  • 11.3.1.1 write code in a programming language using functions
Lambda & Applied Problems
  • 11.3.2.1 write code in a programming language using lambda functions
  • 11.4.3.2 solve applied problems of various subject areas
Term 4
11.4A Object Oriented Programming (OOP)
Topic Learning Objectives
Classes & Objects
  • 11.4.1.1 create classes and instances of classes
  • 11.4.1.3 use special method __init__ to set default properties
  • 11.4.1.2 develop methods for the class
Inheritance & Polymorphism
  • 11.4.2.2 explain the concept of inheritance with examples
  • 11.4.2.1 explain the concept of polymorphism with examples
Applied OOP Problems
  • 11.4.3.1 decompose an applied task
  • 11.4.3.2 solve applied problems of various subject areas

Grade 12 — Computer Science (CS)

Term 1
12.1A Artificial Intelligence
Topic Learning Objectives
AI Applications
  • 12.4.3.1 describe spheres where artificial intelligence is applied: industry, education, medicine, gaming industry, society
  • 12.4.3.2 explain the purpose of virtual and augmented reality
12.1B Programming Paradigms
Topic Learning Objectives
Declarative vs Imperative
  • 12.5.1.1 compare declarative and imperative programming languages
Expert Systems
  • 12.5.1.2 create a simple expert system
Program Compilation Stages
  • 12.5.1.3 describe programme compilation stages: lexical and syntactic analysis, code generation, and optimization
12.1C System Testing
Topic Learning Objectives
Testing Methods
  • 12.5.3.2 perform testing using normal data
  • 12.5.3.3 perform testing using extreme data
  • 12.5.3.4 perform testing using erroneous data
  • 12.5.3.1 describe execution errors at program startup
  • 12.5.3.5 describe a syntax error in a program code
  • 12.5.3.6 describe a logic error in a program code
Term 2
12.2A Information Security
Topic Learning Objectives
Threats to Computer System
  • 12.1.3.2 analyze problems arising due to malware, physical risks
  • 12.1.3.1 analyze ethical problems arising due to computer system cracking
Data Protection Measures
  • 12.1.2.1 describe protection measures for data and computer systems such as firewalls, encryption, biometrics
Backup & Disk Mirroring
  • 12.1.2.2 use data protection measures such as data backup and disk mirroring
Protect Data from Unauthorized Access
  • 12.1.2.3 protect data from unauthorized access
Privacy Policies
  • 12.1.3.3 explain privacy policies
  • 12.1.3.4 analyze problems arising due to disseminating and using information
Cloud Computing & E-Government
  • 12.5.4.1 Describe what is meant by Cloud Technology and its benefits
  • 12.5.4.2 Differentiate between types of cloud computing (Deployment and Service models)
  • 12.5.4.3 Outline the purpose and functions of E-Government
  • 12.5.4.4 Describe the different types of services available on the E-Gov portal
12.2B Creating Documentation
Topic Learning Objectives
Formatting Project Documentation
  • 12.2.1.1 use headers and footers when documenting a project
  • 12.2.1.2 use footnotes when documenting a project
  • 12.2.1.3 use tables when documenting a project
SDLC Documentation: User Guide & Evaluation
  • 12.2.1.4 set page parameters when documenting a project
  • 12.2.1.5 set page numbers when documenting a project
  • 12.2.1.6 set indents and line spacing when documenting a project
Plagiarism Verification
  • 12.1.3.5 check documents using antiplagiarism resources
  • 12.1.3.6 list copyright protection rules
12.2C System Implementation
Topic Learning Objectives
Implementation Methods
  • 12.2.1.7 list system implementation methods
  • 12.2.1.8 compare the advantages and disadvantages of system implementation methods
Installation & Implementation Plan
  • 12.2.1.9 explain the importance of making a system implementation plan
  • 12.2.1.10 make a system implementation plan
Term 3
12.3A Computer Systems
Topic Learning Objectives
Types of Operating Systems
  • 12.3.1.1 describe a real-time operating system
  • 12.3.1.2 describe a network operating system
  • 12.3.1.3 describe a batch processing operating system
User Interfaces
  • 12.3.1.4 define the advantages and disadvantages of a graphical user interface (GUI)
  • 12.3.1.5 define the advantages and disadvantages of a command-line interface (CLI)
  • 12.3.1.6 define the advantages and disadvantages of natural-language and gesture-recognition user interfaces
Fetch-Decode-Execute Cycle
  • 12.3.2.5 explain three operations in a fetch-execute cycle (fetch / decode / execute)
System Bus
  • 12.3.2.4 explain how data is transferred between different components through the address bus, data bus, and control bus
Clock Speed, Word Size & Bus Width
  • 12.3.2.6 explain how the clock speed, word length, and bus width affect the performance
RISC vs CISC
  • 12.3.2.1 describe the RISC architecture
  • 12.3.2.2 describe the CISC architecture
  • 12.3.2.3 compare RISC and CISC
Addressable Memory
  • 12.3.4.1 explain the principle of memory addressing
  • 12.3.4.2 explain the principle of storing programs and data
Paging & Segmentation
  • 12.3.4.2 explain the principle of memory organization by segment and page
Virtual Machine
  • 12.3.4.3 explain the concept of a virtual machine
Boolean Logic
  • 12.3.3.2 build logical structures
  • 12.3.3.4 analyze logical structures
Logic Laws
  • 12.3.3.3 simplify logical expressions using the laws of logic
12.3B Data Presentation
Topic Learning Objectives
Number Systems
  • 12.1.1.1 convert a number from one number system to another
  • 12.1.1.2 explain the advantages of using hexadecimal numbers in computer systems
  • 12.1.1.3 perform the arithmetic operations: addition and multiplication of binary numbers
Two's Complement & Floating Point
  • 12.1.1.4 represents positive and negative numbers in two's complement and specifies the range of n bits
  • 12.1.1.5 perform subtraction using two's complement
  • 12.1.1.6 use binary numbers with a fixed point to represent fractional numbers with a given number of bits
  • 12.1.1.7 represent positive and negative floating-point decimal numbers in binary
Data Structures
  • 12.5.2.1 describe the operation of stack and queue data structures
  • 12.5.2.2 build a binary tree
12.3C Communication and Networks
Topic Learning Objectives
Internet & the World Wide Web
  • 12.6.2.1 distinguish features of the World Wide Web, Intranet and the Internet
OSI Model
  • 12.6.1.2 describe the functions of the OSI network model layers
Circuit Switching & Packet Switching
  • 12.6.1.1 explain the difference between packet switching and circuit switching
Packet Routing & MAC Addresses
  • 12.6.2.2 describe the role of MAC addresses in packet routing
  • 12.6.2.3 identify the MAC address of a computer
Term 4
12.4A Revision (Grade 11 Review)
Topic Learning Objectives
Data Representation (Revision)
  • 12.1.1.1 convert a number from one number system to another
  • 12.1.1.4 represents positive and negative numbers in two's complement
  • 12.1.1.5 perform subtraction using two's complement
  • 12.1.1.6 use binary numbers with a fixed point
  • 12.1.1.7 represent floating-point decimal numbers in binary
Information Security (Revision)
  • 11.1.2.1 explain the difference between security, privacy and data integrity
  • 11.1.2.3 describe data backup and disk mirroring
  • 11.1.2.4 describe encryption and access rights
  • 11.1.2.5 explain verification and validation
  • 12.1.2.1 describe computer systems protection measures
Engineering & SDLC
  • 11.2.2.3 describe the characteristics of a development framework
  • 11.2.2.5 discuss the use of prototypes based on a specific example
  • 11.2.2.6 develop a prototype for a new system
  • 11.2.2.7 define minimum requirements for hardware when implementing solutions
Databases
  • 11.4.1.1 describe relational databases and their purpose
  • 11.4.1.2 use the terms attribute, object, index, record, table and tuple
  • 11.4.1.3 explain the difference between primary, composite and foreign key
  • 11.4.1.4 define data types when creating a database
  • 11.4.1.5 define the connections between tables (1–3NF)
  • 11.4.1.6 define the connections between tables
  • 11.4.1.7 create an entity-relationship (ER) model
SQL Query Language
  • 11.4.2.3 describe the basic SQL queries: CREATE, ALTER, DROP
  • 11.4.2.4 use SQL queries: SELECT, UPDATE, INSERT, DELETE
  • 11.4.2.5 use SQL SELECT for data selection in multiple tables
  • 11.4.2.1 explain the purpose of data dictionary
Programming Paradigms
  • 11.5.1.1 distinguish between generations of programming languages
  • 11.5.1.2 classify programming languages into low and high-level
  • 11.5.1.3 analyze a simple program written in assembly language
  • 11.5.1.4 use trace tables to verify the correctness of an algorithm
  • 11.5.1.5 advantages and disadvantages of high-level languages
  • 11.5.1.6 advantages and disadvantages of low-level languages
  • 11.5.1.7 advantages and disadvantages of compilers
  • 11.5.1.8 advantages and disadvantages of interpreters
Protocols
  • 11.6.3.1 explain the role of protocols (HTTP, FTP, POP3, SMTP, HTTPS, FTPS)
  • 11.6.3.2 explain the format of an IP address and how it is associated with a device
  • 11.6.3.3 explain the difference between public and private IP addresses
Principles of Internet Operation
  • 11.6.1.1 compare features of LAN and WAN
  • 11.6.1.2 describe advantages and disadvantages of network topologies
  • 11.6.1.3 explain the purpose of network equipment
  • 11.6.2.1 describe the role of URL
  • 11.6.2.2 describe the purpose of DNS
  • 11.6.2.3 know the features of the client-server model

Grade 12 — Programming (PROG)

Term 1
12.1A Python Libraries
Topic Learning Objectives
Random Library
  • 12.6.1.1 use the functions of the library Random to get a pseudo-random number
  • 12.6.1.3 identify code snippets that use random sequence generation
RGB Colors
  • 12.6.2.1 determine standard colors by RGB code
PIL Image Basics
  • 12.6.2.2 use commands of module Image in PIL library (load, create, size, save) to manipulate images
PIL Drawing Primitives
  • 12.6.2.3 apply graphic primitives to create drawings
PIL Image Filters
  • 12.6.2.4 create filters for image processing
Wave Library
  • 12.6.3.1 use commands of the Wave library to process sound files
Term 2
12.2A PyGame
Topic Learning Objectives
PyGame Setup & Window
  • 12.5.1.1 connect the PyGame library and its modules
  • 12.5.1.2 create the game window
Game Loop
  • 12.5.1.3 code the game loop of the application
Drawing Primitives
  • 12.5.2.1 output graphic primitives to the application window
Movement & Animation
  • 12.5.3.1 code the movement of graphic objects
  • 12.5.3.8 analyse the result of the programme execution
Mouse Control
  • 12.5.3.3 control characters with the mouse
Term 3
12.3A PyGame (continuation)
Topic Learning Objectives
Keyboard Control
  • 12.5.3.4 control characters with the keyboard
Text & Scoring
  • 12.5.2.4 display graphic text on the screen
  • 12.5.3.7 implement an algorithm for calculating game results
Sprites & Characters
  • 12.5.2.2 load ready-made characters for the game
  • 12.5.3.5 define parameters (x, y, width, height) of the current state of the object
Collision & Movement
  • 12.5.3.1 code the movement of graphic objects
  • 12.5.3.6 check the relative position of objects on the screen
Full Game Implementation
  • 12.5.3.9 implement the game in accordance with the scenario
Term 4
12.4A Chatbot Development
Topic Learning Objectives
Types & Uses of Chatbots
  • 12.6.4.1 define the types of chatbots
  • 12.6.4.2 argue for the use of chatbots
APIs & Configuration
  • 12.6.4.3 explain the meaning of the API
  • 12.6.4.4 get API configuration for a chatbot
Keyword Database & Events
  • 12.6.4.5 create a database of answers by keywords
  • 12.6.4.6 process chat events