Specification points
Cambridge Cambridge IGCSE Computer Science 0265
224 points in 11 topics, with Cambridge's codes and titles.
Codes and titles are read by a script from Cambridge's published specification and have not been checked by a person. What each point covers is in the specification itself: Cambridge’s specification.
1 Data representation and logic gates
- 1.1 Number systems and logic gates
- 1.1.1 All data held in binary
- 1.1.2 Binary conversion and logic gate processing
- 1.1.3 Logic gate symbols
- 1.1.4 Functions of logic gates
- 1.1.5 Units of data storage
- 1.1.6 Converting between data storage units
- 1.1.7 Bases of denary, binary and hexadecimal
- 1.1.8 Converting between denary, binary and hexadecimal
- 1.1.9 Uses and advantages of hexadecimal
- 1.1.10 Adding 8-bit binary integers
- 1.1.11 Overflow in binary addition
- 1.1.12 Logical shifts on binary integers
- 1.1.13 Effects of logical shifts
- 1.1.14 Cyclic shifts on binary integers
- 1.1.15 Effects of cyclic shifts
- 1.1.16 Two’s complement representation
- 1.1.17 Converting from two’s complement
- 1.2 Text, sound and images
- 1.2.1 Characters stored as binary
- 1.2.2 Character sets and numeric codes
- 1.2.3 Representing text with character sets
- 1.2.4 ASCII and Unicode features
- 1.2.5 ASCII and Unicode compared
- 1.2.6 Representing sound: sample rate and resolution
- 1.2.7 Effects of sample rate and resolution
- 1.2.8 Bitmap images and pixels
- 1.2.9 Representing bitmap images: resolution and colour depth
- 1.2.10 Effects of resolution and colour depth
- 1.3 Data compression
- 1.3.1 Purpose of data compression
- 1.3.2 Impact of data compression
- 1.3.3 Lossy compression methods
- 1.3.4 Lossless compression: RLE and Huffman coding
- 1.3.5 Lossy versus lossless compression
2 Logic circuits and hardware
- 2.1 Logic circuits
- 2.1.1 Building logic circuits
- 2.1.2 Completing truth tables
- 2.1.3 Writing logic expressions
- 2.2 CPU architecture
- 2.2.1 Role of the CPU
- 2.2.2 Microprocessors as integrated circuits
- 2.2.3 Components of the CPU
- 2.2.4 CPU and RAM in von Neumann architecture
- 2.2.5 Fetch–decode–execute cycle
- 2.2.6 Factors affecting CPU performance
- 2.2.7 Instruction sets
- 2.3 Data storage
- 2.3.1 Primary storage: RAM, ROM, cache and registers
- 2.3.2 RAM and ROM compared
- 2.3.3 Purpose of secondary storage
- 2.3.4 Primary and secondary storage compared
- 2.3.5 Magnetic and solid-state storage operation
- 2.3.6 Magnetic and solid-state storage compared
- 2.3.7 How virtual memory works
- 2.3.8 Need for virtual memory
3 Data transmission and networking
- 3.1 Packet switching
- 3.1.1 Splitting data into packets
- 3.1.2 Structure of a data packet
- 3.1.3 Packet header, payload and trailer contents
- 3.1.4 Packet switching
- 3.2 Data transmission
- 3.2.1 Methods of data transmission
- 3.2.2 Applications of transmission methods
- 3.2.3 Suitability of transmission methods
- 3.2.4 Network interface cards
- 3.2.5 MAC address format and purpose
- 3.2.6 NIC unique identifiers
- 3.2.7 Switches and MAC addresses
- 3.3 Internet Protocol Addresses
- 3.3.1 Purpose of IP addresses
- 3.3.2 IP address format
- 3.3.3 IPv4 and IPv6 compared
- 3.3.4 Static and dynamic IP addresses
- 3.3.5 Functions of a router
- 3.4 The Internet and the World Wide Web
- 3.4.1 Purpose of a URL
- 3.4.2 Structure of a URL
- 3.4.3 HTTP
- 3.4.4 HTTPS
- 3.4.5 Locating and displaying web pages
- 3.4.6 Role of DNS
- 3.4.7 Cookies
- 3.4.8 Session and persistent cookies
- 3.4.9 Cloud features and services
- 3.4.10 Cloud versus local storage
- 3.4.11 Public, private and hybrid cloud storage
4 Data integrity and cybersecurity
- 4.1 Data integrity
- 4.1.1 Sources of data errors
- 4.1.2 Error detection and correction methods
- 4.1.3 Calculating parity bits and bytes
- 4.1.4 Uses of check digits
- 4.1.5 Automatic repeat request (ARQ)
- 4.2 Cybersecurity
- 4.2.1 Core principles of cybersecurity
- 4.2.2 Threats to cybersecurity principles
- 4.2.3 Types of cybersecurity threat
- 4.2.4 Protecting data from cybersecurity threats
- 4.2.5 Purpose of encryption
- 4.2.6 Symmetric and asymmetric encryption
5 Software
- 5.1 Types of software and interrupts
- 5.1.1 Purpose of an operating system
- 5.1.2 User accounts and system security
- 5.1.3 File management by the operating system
- 5.1.4 Memory management by the operating system
- 5.1.5 Process management by the operating system
- 5.1.6 Peripherals and device drivers
- 5.1.7 Handling interrupts
- 5.2 Programming languages, translators and IDEs
- 5.2.1 High-level and low-level languages
- 5.2.2 High-level and low-level languages compared
- 5.2.3 Compilers, interpreters and assemblers
- 5.2.4 Choosing a translator
- 5.2.5 Integrated development environments
6 Automated systems and robotics
- 6.1 Automated systems
- 6.1.1 Microcontrollers
- 6.1.2 Sensors and analogue-to-digital conversion
- 6.1.3 Choosing a sensor
- 6.1.4 Embedded systems
- 6.1.5 Uses of embedded systems
- 6.1.6 Actuators
- 6.1.7 Building automated systems
- 6.1.8 Automated systems: advantages and disadvantages
- 6.1.9 Implications of automated systems
- 6.2 Robotics
- 6.2.1 Definition of robotics
- 6.2.2 Characteristics of a robot
- 6.2.3 Roles of robots in industry, agriculture and medicine
- 6.2.4 Pros and cons of robots in those areas
- 6.2.5 Robots' impact on employment, safety and sustainability
7 Emerging technologies
- 7.1 Artificial Intelligence
- 7.1.1 Artificial intelligence as a branch of computer science
- 7.1.2 Main features of AI
- 7.1.3 Common applications of AI
- 7.1.4 Neural network layers
- 7.1.5 Purpose of machine learning and neural networks
- 7.1.6 Uses of AI in a given context
- 7.1.7 Fairness and bias in data and AI
- 7.1.8 Ethical and societal issues of AI
- 7.1.9 AI's impact on employment, safety and sustainability
- 7.2 Quantum computers
- 7.2.1 Quantum versus classical computers
- 7.2.2 Pros and cons of quantum computers
8 Programming fundamentals
- 8.1 Programming concepts
- 8.1.1 Variables and constants in Python
- 8.1.2 Basic data types
- 8.1.3 Casting between data types
- 8.1.4 Inputs and outputs
- 8.1.5 Sequence, selection and iteration constructs
- 8.1.6 String handling
- 8.2 Programming operators
- 8.2.1 Arithmetic operators
- 8.2.2 Relational operators
- 8.2.3 Logical operators
9 Algorithm design
- 9.1 Abstraction
- 9.1.1 Abstraction as a simplified model
- 9.1.2 Purpose of abstraction in context
- 9.1.3 Using abstraction
- 9.2 Decomposition
- 9.2.1 Decomposition into smaller sub-problems
- 9.2.2 Decomposing a problem into inputs, processes, outputs and storage
- 9.2.3 Purpose of decomposition in context
- 9.2.4 Using decomposition
- 9.3 Algorithm design and evaluation
- 9.3.1 Designing and amending algorithms with flowcharts and Python
- 9.3.2 Purpose of an algorithm and its parts
- 9.3.3 Trace tables
- 9.3.4 Finding and correcting algorithm errors
- 9.3.5 Amend an algorithm
- 9.3.6 Linear and binary search on data
- 9.3.7 Bubble, insertion and merge sort on data
- 9.3.8 Coding a linear search and bubble sort
- 9.3.9 Steps of search and sort algorithms
- 9.3.10 Comparing search and sort algorithms
10 Further programming and testing
- 10.1 Variables and constants
- 10.1.1 Local and global variables
- 10.1.2 Local and global constants
- 10.1.3 Pros and cons of local and global scope
- 10.2 Procedures and functions
- 10.2.1 Identifying procedures and functions
- 10.2.2 Purpose of procedures and functions
- 10.2.3 Built-in functions
- 10.2.4 Procedures and functions with parameters
- 10.3 Lists
- 10.3.1 Purpose and features of lists
- 10.3.2 One- and two-dimensional lists
- 10.3.3 Built-in list functions and operators
- 10.3.4 Coding a linear search and bubble sort with lists
- 10.4 File handling
- 10.4.1 Purpose of storing data in files
- 10.4.2 Opening, reading, writing and closing files
- 10.5 Testing
- 10.5.1 Validation checks
- 10.5.2 Coding input validation
- 10.5.3 Verification: visual and double entry checks
- 10.5.4 Coding a double entry check
- 10.5.5 Normal, boundary and erroneous test data
- 10.5.6 Debugging Python code
- 10.5.7 Types of programming error
- 10.5.8 Making programs maintainable
11 Databases and Structured Query Language (SQL)
- 11.1 Databases
- 11.1.1 Single-table databases
- 11.1.2 Two-table relational databases
- 11.1.3 Database data types
- 11.1.4 Purpose of a primary key
- 11.1.5 Choosing a primary key
- 11.1.6 Foreign keys and linking tables
- 11.1.7 Choosing a foreign key
- 11.1.8 Joining two tables
- 11.2 SQL
- 11.2.1 SQL queries with conditions
- 11.2.2 Correct SQL statements
- 11.2.3 Results of given SQL statements