MATSEC IM Computing study materials
MATSEC IM Computing study resources

MATSEC IM Computing key terms

MATSEC IM Computing · Get comfortable with the vocabulary.

CPU

The component that fetches, decodes and executes program instructions, containing the control unit, the arithmetic logic unit and registers. It coordinates all other hardware and performs all arithmetic and logical processing.

Related: Von Neumann architecture, Register, Cache memory
Von Neumann architecture

A design in which instructions and data share the same memory and are transferred to the CPU over a single bus. Execution follows the fetch-decode-execute cycle, which limits throughput.

Related: CPU, Fetch-decode-execute cycle, Bus
Fetch-decode-execute cycle

The repeating sequence in which the CPU copies an instruction from memory, works out what operation it specifies, and carries it out, then moves to the next instruction.

Related: CPU, Program counter, Register
Register

A small, very fast storage location inside the CPU used to hold the current instruction, addresses or intermediate results during processing. Registers are far quicker to access than main memory.

Related: Program counter, CPU, Cache memory
Program counter

A register that holds the memory address of the next instruction to be fetched. It is incremented after each fetch so that instructions are processed in sequence unless a jump occurs.

Related: Register, Fetch-decode-execute cycle
Cache memory

A small amount of fast memory between the CPU and main memory that stores recently or frequently used data and instructions. It reduces average access time and speeds up execution.

Related: CPU, Register, RAM
RAM

Volatile main memory that holds the programs and data currently in use. Its contents are lost when power is removed, and it can be read from and written to freely.

Related: ROM, Cache memory, Virtual memory
ROM

Non-volatile memory whose contents are written during manufacture and normally can only be read. It typically stores the start-up instructions needed to boot a computer.

Related: RAM, Operating system
Bus

A set of parallel connections that carries data, addresses and control signals between the CPU, memory and input/output devices. Its width and speed affect overall system performance.

Related: Von Neumann architecture, CPU
Operating system

System software that manages hardware resources, runs applications, handles files and provides a user interface. It also performs scheduling, memory management and security functions.

Related: Virtual memory, Utility program, Interrupt
Utility program

Software that performs housekeeping tasks such as file compression, backup, disk defragmentation, virus scanning or formatting. It supports the operating system rather than doing user work directly.

Related: Operating system
Interrupt

A signal that tells the CPU to pause the current task and run a higher-priority routine, such as servicing a device or handling an error. The interrupted work is resumed afterwards.

Related: Operating system, CPU
Virtual memory

A technique that uses part of secondary storage as an extension of RAM, swapping pages between them. It lets programs larger than physical memory run, but is much slower.

Related: RAM, Paging, Operating system
Paging

Dividing memory into fixed-size blocks called pages, with a page table mapping virtual addresses to physical frames. Unused pages can be moved out to secondary storage.

Related: Virtual memory, RAM
Algorithm

A finite, ordered set of unambiguous steps that solves a problem or completes a task, producing a result from given inputs. It must terminate and be precise enough to implement.

Related: Pseudocode, Flowchart, Trace table
Pseudocode

A structured, English-like notation for expressing an algorithm without the syntax of a particular programming language. It uses keywords such as IF, WHILE and INPUT to show control flow.

Related: Algorithm, Flowchart, Selection
Flowchart

A diagram that represents an algorithm using standard symbols: ovals for start and end, parallelograms for input and output, rectangles for processes and diamonds for decisions.

Related: Algorithm, Pseudocode, Selection
Selection

A control structure in which a condition is tested and one of several alternative paths is taken, written as IF...THEN...ELSE or CASE. It lets a program respond differently to different data.

Related: Iteration, Boolean expression, Pseudocode
Iteration

A control structure that repeats a block of statements, either a fixed number of times (count-controlled) or while a condition holds (condition-controlled). It avoids duplicating code.

Related: Selection, Algorithm, Trace table
Boolean expression

An expression that evaluates to either true or false, built using comparison operators such as =, < and > combined with AND, OR and NOT. It controls selection and iteration.

Related: Selection, Iteration
Variable

A named storage location whose value can change while a program runs. It has a data type, a scope and an identifier used to refer to it in statements.

Related: Constant, Data type, Scope
Constant

A named value that is assigned once and cannot change during execution. Using constants makes programs easier to read and maintain than repeating literal values.

Related: Variable, Data type
Data type

A classification of data that determines what values it can hold and which operations are valid, for example integer, real, character, string and Boolean.

Related: Variable, Casting, Array
Array

A fixed-size collection of elements of the same data type, stored under one identifier and accessed by an index. It allows many related values to be handled efficiently.

Related: Data type, Iteration, Linear search
Subprogram

A named block of code that performs a task and is called from elsewhere in a program. Parameters pass data in and return values pass results back, promoting reuse.

Related: Parameter, Scope, Variable
Parameter

A named value declared in a subprogram's definition that receives the data supplied when the subprogram is called. It lets the same code work with different inputs.

Related: Subprogram, Variable
Scope

The region of a program in which an identifier is visible and usable. Local variables exist only inside their subprogram; global variables are accessible throughout the program.

Related: Variable, Subprogram, Parameter
Linear search

A search that examines 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, Array, Algorithm
Binary search

A search that repeatedly halves a sorted list, comparing the target with the middle element. It is much faster than a linear search but requires the data to be ordered.

Related: Linear search, Algorithm, Array
Trace table

A table used to record the values of variables at each step as an algorithm is manually executed. It helps verify logic and locate errors in code.

Related: Algorithm, Variable, Pseudocode
Database

An organised collection of related data stored so that it can be accessed, managed and updated efficiently, usually through a database management system.

Related: Relational database, Primary key, SQL
Relational database

A database in which data is held in tables of rows and columns, with relationships between tables established through shared key fields. It reduces duplication and supports flexible querying.

Related: Primary key, Foreign key, Normalisation
Primary key

A field or combination of fields that uniquely identifies each record in a table. It cannot contain duplicate or null values.

Related: Foreign key, Relational database, Database
Foreign key

A field in one table that refers to the primary key of another table, creating a link between them. It enforces referential integrity between related records.

Related: Primary key, Relational database
Normalisation

The process of structuring tables to remove redundant data and avoid insertion, update and deletion anomalies, typically by progressing through first, second and third normal form.

Related: Relational database, Primary key, Foreign key
SQL

A standard query language for relational databases, used to create tables and to retrieve, insert, update and delete data through statements such as SELECT, INSERT and UPDATE.

Related: Database, Query, Relational database
Query

A request for data or information from a database, expressed in a language such as SQL. It may filter, sort, group and combine records from one or more tables.

Related: SQL, Database
Validation

Automatic checking by software that data entered is reasonable and complete, for example a range check, presence check or data type check. It cannot confirm that data is factually correct.

Related: Verification, Data integrity
Verification

Checking that data has been copied or entered accurately, for example by double entry or visual comparison with the source document. It differs from validation, which checks acceptability.

Related: Validation, Data integrity
Data integrity

The accuracy, consistency and reliability of stored data over its lifetime. It is protected by validation, verification, access controls and referential integrity rules.

Related: Validation, Verification, Primary key
Encryption

Converting data into a coded form using an algorithm and key so that only authorised parties can read it. It protects data during transmission and while stored.

Related: Data integrity, Malware
Malware

Software written to cause harm or gain unauthorised access, including viruses, worms, trojans and ransomware. It is countered with antivirus tools, updates and user caution.

Related: Phishing, Encryption, Firewall
Phishing

A social engineering attack in which fraudulent messages impersonate a trusted organisation to trick recipients into revealing passwords or financial details. Awareness and link-checking reduce the risk.

Related: Malware, Encryption
Firewall

Hardware or software that monitors and filters network traffic against a set of rules, blocking unauthorised connections while allowing legitimate ones. It forms part of a layered security approach.

Related: Malware, Encryption