IB Computer Science SL study materials
IB Computer Science SL study resources

IB Computer Science SL key terms

IB Computer Science SL · Get comfortable with the vocabulary.

Algorithm

A finite, ordered set of unambiguous steps that solves a problem or completes a task, producing a result from given inputs and terminating after a bounded number of operations.

Related: Pseudocode, Flowchart, Abstraction
Abstraction

Removing unnecessary detail from a problem or system so that only the features relevant to the task remain, making complex situations easier to model and reason about.

Related: Decomposition, Algorithm
Decomposition

Breaking a large or complex problem into smaller sub-problems that can be solved independently, then combining the solutions to address the original problem.

Related: Abstraction, Subprogram
Pseudocode

A structured, language-independent notation using keywords and indentation to describe an algorithm, readable by humans and later translated into a real programming language.

Related: Algorithm, Flowchart
Flowchart

A diagram that represents an algorithm with standard symbols such as rectangles for processes, diamonds for decisions and arrows for control flow between steps.

Related: Pseudocode, Algorithm
Iteration

Repetition of a block of statements controlled by a loop condition, used when the number of repeats is unknown in advance or depends on data.

Related: Recursion, Conditional Statement
Recursion

A technique in which a subprogram calls itself on a smaller version of the same problem, stopping when a base case is reached to avoid infinite calls.

Related: Iteration, Subprogram
Conditional Statement

A construct that executes different blocks of code depending on whether a Boolean expression evaluates to true or false, allowing a program to make decisions.

Related: Boolean, Iteration
Variable

A named storage location in memory whose value can change while a program runs; its identifier, data type and scope determine how it is used.

Related: Data Type, Scope
Data Type

A classification of values such as integer, real, Boolean, character or string that determines which operations are allowed and how values are stored.

Related: Variable, Boolean
Boolean

A data type with exactly two possible values, true and false, used in conditions and combined with operators such as AND, OR and NOT.

Related: Conditional Statement, Data Type
Array

A collection of elements of the same data type stored under one identifier and accessed by an index, usually numbered from zero or one.

Related: Data Type, Iteration
Subprogram

A named, reusable block of code that performs a specific task, may take parameters and may return a value; also called a method, function or procedure.

Related: Parameter, Scope
Parameter

A named input declared in a subprogram's definition that receives a value when the subprogram is called, allowing the same code to work with different data.

Related: Subprogram, Variable
Scope

The region of a program in which a particular identifier is visible and can be used, for example a variable declared inside one subprogram only.

Related: Variable, Subprogram
Compiler

A translator that converts a whole high-level language program into machine code before execution, reporting syntax errors and producing an executable file.

Related: Interpreter, Machine Code
Interpreter

A translator that reads and executes a high-level language program one statement at a time, stopping at the first error and requiring the source code to run.

Related: Compiler, Machine Code
Machine Code

The binary instruction set that a specific processor can execute directly, produced from source code by translation and not normally written by hand.

Related: Compiler, Interpreter
Linear Search

A search that checks each element of a list in turn until the target is found or the list ends; it works on unsorted data but is slow for large lists.

Related: Binary Search, Algorithm
Binary Search

A search on a sorted list that repeatedly halves the search range by comparing the target with the middle element, giving logarithmic time complexity.

Related: Linear Search, Algorithm
Sorting Algorithm

A method that arranges the elements of a collection into a defined order, for example bubble sort, selection sort or merge sort, each with different efficiency.

Related: Algorithm, Binary Search
Stack

A last-in-first-out data structure where items are pushed onto and popped from the same end, used for undo operations, recursion and expression evaluation.

Related: Queue, Recursion
Queue

A first-in-first-out data structure where items are added at the rear and removed from the front, used for buffering and scheduling tasks.

Related: Stack, Algorithm
Binary Representation

The encoding of data using only the digits 0 and 1, where each position represents a power of two, used by computers for all stored values.

Related: Bit, Data Type
Bit

A single binary digit, either 0 or 1, the smallest unit of data; eight bits form a byte, and bits are grouped to represent larger values.

Related: Binary Representation, Data Type
Database

An organised collection of related data stored so that it can be efficiently queried, updated and shared, usually managed by database management software.

Related: Primary Key, Foreign Key
Primary Key

A field or combination of fields whose values uniquely identify each record in a table and that cannot be null or duplicated.

Related: Foreign Key, Database
Foreign Key

A field in one table whose values match the primary key of another table, creating a link between the tables and enforcing referential integrity.

Related: Primary Key, Database
SQL

A declarative language for defining and manipulating relational data, using statements such as SELECT, INSERT, UPDATE and DELETE with clauses like WHERE and ORDER BY.

Related: Database, Primary Key
Protocol

A set of agreed rules governing how data is formatted, addressed and exchanged between devices on a network, such as TCP/IP or HTTP.

Related: IP Address, Packet
IP Address

A numeric label assigned to a device on a network so that data can be routed to it, either IPv4 with 32 bits or IPv6 with 128 bits.

Related: Protocol, Packet
Packet

A small unit of data sent across a network, containing header information such as source, destination and sequence number, plus a portion of the payload.

Related: Protocol, IP Address
Bandwidth

The maximum rate at which data can be transferred over a communication channel, usually measured in bits per second and limited by the medium.

Related: Protocol, Packet
Encryption

The transformation of readable data into an unreadable form using a key so that only authorised parties can reverse it and recover the original content.

Related: Protocol, Authentication
Authentication

The process of verifying that a user or system is who it claims to be, commonly through passwords, tokens or biometric data before access is granted.

Related: Encryption, Protocol
Operating System

System software that manages hardware resources such as memory, processor time and storage, and provides services and an interface for application programs.

Related: Compiler, Virtual Memory
Virtual Memory

A technique in which part of secondary storage is used as an extension of main memory, allowing programs larger than physical RAM to run, at a cost in speed.

Related: Operating System, Cache
Cache

A small, fast memory close to the processor that holds recently or frequently used data and instructions to reduce average access time.

Related: Virtual Memory, Operating System