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

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

Software Categories

  • 11.3.1.1 justify the choice of applied software and choice criteria
  • 11.3.1.2 classify application software

Operating Systems & Types

  • 11.3.1.3 describe the purpose and main functions of OS
  • 11.3.1.4 compare single-user and multi-user OS
  • 11.3.1.5 compare one-task and multitasking OS

Von Neumann Architecture

  • 11.3.2.1 describe the interaction of CPU with peripheral devices

System Bus

  • 11.3.2.2 describe the purpose of CPU components, system bus and main memory

Main Memory (RAM/ROM)

  • 11.3.4.1 explain the differences between RAM and ROM memory

Cache & Virtual Memory

  • 11.3.4.3 explain the purpose of cache memory
  • 11.3.4.2 explain the purpose of virtual memory

Boolean Logic & Gates

  • 11.3.3.3 build truth tables AND, OR, NOT, NAND, NOR, XOR

Simplifying Boolean Expressions

  • 11.3.3.1 distinguish between laws of Boolean logic
  • 11.3.3.2 simplify logical expressions using laws

Classifications of PL

  • 11.5.1.1 distinguish between generations of PL
  • 11.5.1.2 classify PL into low and high-level
  • 11.5.1.5 analyze advantages/disadvantages of high-level languages
  • 11.5.1.6 analyze advantages/disadvantages of low-level languages

LMC Simulator

  • 11.5.1.3 analyze a simple program written in assembler

Trace Tables

  • 11.5.1.4 use trace tables to verify algorithms

Translators

  • 11.5.1.7 analyze advantages/disadvantages of compilers
  • 11.5.1.8 analyze advantages/disadvantages of interpreters

SDLC Models

  • 11.2.1.1 explain life cycle stages
  • 11.2.1.2 analyze cyclical, waterfall, and spiral models

Data Analysis

  • 11.2.1.3 describe data collection methods
  • 11.2.1.4 compare data analysis techniques
  • 11.2.1.5 compare alternative solutions

Data Flow Diagram (DFD)

  • 11.2.1.6 use DFD to input, process, store and output data

Flowcharts

  • 11.2.1.7 use flow charts for computing systems
Term 2

Relational Databases

  • 11.4.1.1 describe relational databases and purpose
  • 11.4.1.2 use terms: attribute, object, index, record, tuple
  • 11.4.1.4 define data types
  • 11.4.1.3 explain primary, composite, foreign keys

Entity Relationship Diagrams

  • 11.4.1.6 define connections between tables
  • 11.4.1.7 create an ER model

Normalization

  • 11.4.1.5 define connections (1NF, 2NF, 3NF)

SQL (DDL & DML)

  • 11.4.2.1 explain purpose of data dictionary
  • 11.4.2.2 compare DDL and DML
  • 11.4.2.3 basic SQL: CREATE, ALTER, DROP
  • 11.4.2.4 basic SQL: SELECT, UPDATE, INSERT, DELETE
  • 11.4.2.5 use SELECT for multiple tables
Term 3

1D, 2D Arrays

  • 11.5.2.1 terms: upper/lower bounds
  • 11.5.2.3 code using 1D and 2D arrays

Sorting Algorithms

  • 11.5.2.4 Bubble sort and Insertion sort

Binary Search

  • 11.5.2.5 write pseudo-code of binary search

Algorithm Efficiency

  • 11.5.2.6 understand time-efficiency
  • 11.5.2.7 understand space-efficiency

HTML/CSS

  • 11.5.3.1 create a site using basic HTML tags
  • 11.5.3.2 create forms for data entry
  • 11.5.3.3 use CSS stylesheet

Script Language (PHP)

  • 11.5.3.8 use script language for interactivity
  • 11.5.3.6 use algorithmic structures in script

PHP & Database

  • 11.5.3.4 connect to database / User registration

Application Interface

  • 11.2.2.3 describe the characteristics of a development framework
  • 11.5.4.1 create a mobile application interface using the components of an application designer
  • 11.5.4.2 edit properties of components in a program code

Mobile Application Development

  • 11.5.4.3 create an application for mobile devices using conditional operators
  • 11.5.4.4 create an application for mobile devices using loop structures
  • 11.5.4.5 use the technical capabilities of smartphones when developing

Publishing Applications

  • 11.5.4.6 publish the results of a project on the network (application store)
Term 4

Basic Algorithmic Structures

  • 11.4.1.1 use basic algorithmic structures (sequential, branching, loop)

Validation & Verification

  • 11.4.1.2 difference between validation and verification of data

Good Programming Style

  • 11.4.1.3 apply rules of good programming style

Data Protection

  • 11.1.2.1 security, privacy, data integrity

Backup & Mirroring

  • 11.1.2.3 data backup and disk mirroring

Encryption & Authentication

  • 11.1.2.4 encryption and access rights

Blockchain

  • 11.1.2.6 function and operation of Blockchain

Open & Closed Software

  • 11.1.3.2 open-source specifics
  • 11.1.3.3 closed-source specifics

Copyright & Access Restriction

  • 11.1.3.1 copyright law in computing
  • 11.1.3.4 methods of access restriction

Cloud Technologies

  • 11.1.3.5 evaluate risks of cloud technologies

LAN & WAN

  • 11.6.1.1 compare LAN and WAN

Network Topology

  • 11.6.1.2 bus, ring, star, mesh topologies

Network Hardware

  • 11.6.1.3 purpose of network equipment

Client-Server Model

  • 11.6.2.3 features of client-server model

URL & DNS

  • 11.6.2.1 structure and purpose of URL
  • 11.6.2.2 Domain Name System

Network Protocols

  • 11.6.2.2 network protocols

IP Address

  • 11.6.2.4 format of IP address

Grade 11 — Programming (PROG)

Term 1

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

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

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

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

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

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

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

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

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

Making a Text Document

  • 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

Formatting a Text Document

  • 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

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

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

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

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

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

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

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

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

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

Assessment Hub

Mock exams and resources aligned with NIS and Cambridge standards

Mock Exams

SAT / SAU Papers

Ready-to-use papers specifically for NIS 2025.

SAT SAU NIS 2025
Access Papers
Resources

Guides & Past Papers

Guides, Mark Schemes and Cambridge Past Papers.

Guides Mark Schemes Past Papers
Browse Resources