Specifications that use this resource:

Subject specific vocabulary

The following subject specific vocabulary provides definitions of key terms used in AQA's AS and A-level Computer Science specifications.

Absolute Error

The difference between the actual number and the nearest representable value.

Abstract data type (ADT)

A data type whose properties are specified independently of any particular programming language.

Abstraction

Representation that is arrived at by removing unnecessary details.

Aggregation

A type of association where the aggregated object has a weaker form of association with the objects that it is aggregating than is the case with composition. These objects have an existence independent of the aggregated object and can continue to exist even after the aggregated object is disposed of.

Ajax

Web technology that allows only the part of a web page that needs updating to be fetched from the web server.

Algorithm

A sequence of unambiguous instructions for solving a problem. It can be represented as a Turing machine program.

Application programming interface (API)

A layer of software that allows application programs to call on the services of the operating system.

Association

An association is a relationship between two classes. There are different types of association: composition and aggregation.

Asymptotic behaviour of f

Behaviour of the function f(n) for very large values of n.

Asynchronous serial data transmission

Transmission system in which the sender and receiver have separate clocks which are not kept synchronised. Instead, the clocks are synchronised temporarily at the start of a transmission. The arrival of data cannot be predicted by the receiver; s a start bit is used to signal the arrival of data and to synchronise the transmitter and receiver temporarily.

Attribute

A property or characteristic of an entity (databases) or an object (OOP).

Automation

Turning an abstraction into a form that can be processed by a computer.

Backus-Naur Form, (BNF)

Backus-Naur Form, (BNF)

Bandwidth

For a transmission medium, the range of signal frequencies it may transmit.

Base case

A value that has a solution which does not involve any reference to the general case solution.

Baseband system

A system that uses a single data channel system in which the whole bandwidth of the transmission medium is dedicated to one data channel at a time.

Basic operation

The operation which contributes most to the total running time.

Baud rate

The rate at which signals on a wire may change.

Behaviours

The functions of the object or what the object does.

Bit rate

The number of bits transmitted per second.

Broadband

A multiple data channel system in which the bandwidth of the transmission medium carries several data streams at the same time.

Bubble sort

A sorting algorithm where during a pass, neighbouring values are compared and swapped. Passes are made until no further swaps are needed.

Cipher text

Message data after it has been encrypted.

Circular queue

When the array element with the largest possible index has been used, the next element to join the queue reuses the vacated location at the beginning of the array.

Class definition

A template that can be used to create objects of that class.

Client

A computer that uses the services provided by a server.

Client-server system

A system in which some computers (the clients), request services provided by other computers, the servers.

Closed path/circuit

A sequence of edges that start and end at the same vertex and such that any two successive edges in the sequence share a vertex.

Communication protocol

A set of agreed signals, codes and rules to be used for data and information exchange between computers.

Complexity of a problem

Taken to be the worst case complexity of the most efficient algorithm which solves the problem.

Composite key

A combination of attributes that uniquely identifies a tuple/record.

Computational complexity

A measure of how economical an algorithm is with time and space.

Composition

A type of association where the composite object has ownership of the objects within it. The objects that are part of the composite objects have a lifecycle determined by the composite object. If the composite object ceases to exist then they too will cease to exist.

Conceptual model

A representation of the data requirements of an organisation constructed in a way that is independent of any software that is used to construct the database.

Cryptanalysis

A method of trying to find the plain text from the cipher text without the decryption key.

Cryptography

The science of designing cipher systems.

Cycle

A closed path in which all the edges are different and all the intermediate vertices are different.

Data Model

A method of describing the data, it's structure, the way it is interrelated and the constraints that apply to it for a given system or organisation.

Data transmission

Movement of data.

Database

A structured collection of data.

Database management system

A software system that enables the definition, creation and maintenance of a database and which provides controlled access to this database.

Decryption

Using an algorithm and a key to convert encrypted message data into its plain text equivalent.

Degree (of a vertex)

The number of neighbours for that vertex.

Degree of relationship

Between two entities, it refers to the number of entity occurrences of one entity which are associated with just one entity occurrence of the other and vice versa.

Deterministic finite state machine (FSM)

An FSM that has just one next state for each pair of state and input symbols.

Directed graph

A diagram consisting of vertices, joined by directed edges.

Dynamic allocation

Memory space is only allocated when required at runtime.

Dynamic data structure

The memory taken up by the data structure varies at run time.

Dynamic web page content

Content that is generated when the web browser request is received.

Embedded computer system

A dedicated computer system with a limited or non-existent user interface and designed to operate completely, or largely, autonomously from within other machinery.

Encapsulation

Combining a record with the procedures and functions that manipulate it to form a new data type; a class in OOP.

Encryption

Using an algorithm and a key to convert message data into a form that is not understandable without that key.

Entity

An object, person, event or thing of interest to an organisation and about which data are recorded.

Evaluation

A systematic assessment of whether something meets its objectives or specifications and how well it meets the latter in terms of effectiveness, usability, maintainability.

Explorer's problem

The solution finds a route that traverses each road exactly once before returning to the starting point.

Exponential growth

Growth that has the form kn, e.g. 2n where k = 2 and n = 1, 2, 3, etc.

Exponential time algorithm

An algorithm whose execution time grows exponentially with input size.

Feasibility study

A study that investigates the potential of a new system.

Finite state machine

A finite state machine is a model of computation for a machine that is always in one of a fixed number of states.

The state of the machine can be changed according to transition rules, based  upon the input that it receives and its current state. Some finite state machines produce output as they carry out transitions whilst others simply produce a yes/no response at the end of processing their input.

Floating point notation

A real number represented by a sign, some significant digits (the mantissa) and a power of 2 (the exponent).

Foreign key

An attribute in one table that is a primary key in another table.

Gateway

A device used to connect networks using different protocols so that information can be successfully passed from one system to another.

General case

The solution in terms of itself for a value n.

Graph

A diagram consisting of vertices joined by edges.

Halting problem

The unsolvable problem of writing a program that can tell whether a given program and its inputs will halt, without running the given program.

Halting state

A state that has no outgoing transition.

Handshaking protocol

The sending and receiving devices exchange signals to establish that they are each ready to initiate data transfer.

Heuristic

An approach that uses experience to make informed guesses that assist in finding a polynomial time solution to an intractable algorithmic problem. The 'solution' may be non-optimal.

Human-computer interaction

The study, planning and design of what happens when a computer and human work together.

Inheritance

The relationship between two object types in which one is a kind of the other and shares some of its properties or behaviours.

Instantiation

An object is defined based on a class.

Internet

A global wide area network that is formed from the interconnection of many other networks and that uses the TCP/IP protocol.

Interpreter

An interpreter works its way through a set of source code instructions identifying the next instruction and then running routine(s) to execute it, before moving on to the next instruction.

Intractable

A problem which can be solved, but for which no polynomial time solution (or better) has been found.

Labelled or weighted graph

A graph in which the edges are labelled or given a value called its weight.

Linear queue

Elements join the queue at one end and leave the queue at the other.

Linear search

Starts at the beginning of the list and compares each element in turn with the required value until a match is found, or the end of the list is reached.

Linear time algorithm

An algorithm that executes in O(n) time.

List

A collection of elements with an inherent order.

Maintainability of software

How easy it is to fix bugs, change parameters and respond to changing requirements.

Maintenance

Fixing bugs, changing parameters and responding to changing requirements.

Mealy machine

A finite state machine (FSM)that determines its outputs from the present state and from the inputs.

Model

An abstraction of an entity in the real world or in the problem that enables an automated solution. The abstraction is a representation of the problem that leaves out unnecessary detail.

Neighbours

Two vertices are neighbours if they are connected by an edge.

Non-computable

An algorithmic problem that admits no algorithm.

Normalisation

A technique used to produce a normalised set of entities in a database.

Normalised entities

A set of entities that contain no redundant data.

Null pointer

A pointer that does not point to anything, usually represented by Ø or –1.

Object

An instance of a class.

Operating system role

To manage the hardware resources in order to provide for an orderly and controlled allocation of the processors, memories and I/O devices among the various programs competing for them and manage the storage of data. It hides the complexities of the hardware from the user.

Order of complexity

Of a problem is its big O complexity.

Overflow

The result of a calculation is too large to be represented using the available number of bits.

Parallel data transmission

Multiple bits are sent down several wires simultaneously.

Peer-to-peer network

A network that has no dedicated servers. All computers are of equal status and can both share resources themselves and use resources from other computers, ie they are peers.

Pharming

When a phisher changes DNS server information so that customers are directed to another site.

Phishing

When someone tries to get you to give them your personal information.

Plain text

Message data before it is encrypted.

Pointer

A variable that contains a memory address. The pointer 'points' to the memory location with that address.

Pointer type

A variable of pointer type that stores an address of a data value.

Polymorphism

Giving an action one name that is shared up and down a class hierarchy. Each class in the hierarchy implements the action in a way appropriate to itself.

Polynomial growth

Growth that has the form nk, e.g. n3 where k = 3 and n = 1, 2, 3, etc.

Polynomial time algorithm

An algorithm whose execution time grows as a polynomial of input size.

Precision

The maximum number of significant digits that can be represented.

Primary key

An attribute or set of attributes which uniquely identifies a tuple.

Principle of universality

A universal machine is a machine capable of simulating any other machine.

Priority queue

Each element of a priority queue has an associated priority.

Prototype

An early or trial working version of the proposed system developed to test possible solutions.

Prototyping

Building a working model, demonstration system, simplified version, rough copy or trial piece of software to help an analyst.

Pseudo-random numbers

A series of numbers generated by computer with apparent randomness.

Queue

A first-in-first-out (FIFO) abstract data type.

Recursive definition

One that is defined in terms of itself.

Recursive routine

A routine defined in terms of itself.

Referential integrity

If a value appears in a foreign key in one table it must also appear in the primary key in another table.

Regular expression

A notation for defining all the valid strings of a formal language or a special text string for describing a search pattern.

Regular language

Any language that a finite state machine (FSM) will accept.

Relation

A set of attributes and tuples, modelling an entity (a table).

Relational database

A collection of tables which can be linked together by means of primary and foreign keys.

Relationship

An association or link between two entities.

Relative error

The absolute error divided by the actual numbers.

Robust code

The program will function reliably and not crash or go into infinite loops, even with incorrect inputs or unpredictable values.

Rooted tree

A tree in which one vertex has been designated as the root and every edge is directed away from the root.

Router

A device that receives packets or from one host (computer) or router and uses the destination IP address that they contain to pass them correctly formatted, to another host (computer) or router.

Serial data transmission

Single bits are sent one after another along a single wire.

Server

A computer that provides shared resources to network users.

Significant digits

Those digits which carry meaning contributing to the accuracy of a number. This includes all digits except leading and trailing zeros where they serve merely as placeholders to indicate the scale of the number.

Simple graph

A graph without multiple edges in which each edge connects to two different vertices.

Software as a service (SaaS)

A model of software deployment where an application is hosted as a service provided to customers across the internet.

Space-complexity (of an algorithm)

How much memory an algorithm needs.

Stack

A last-in-first-out (LIFO) abstract data type.

Stack frame

The locations in the stack area used to store the values referring to one invocation of a routine.

Stand-alone computer

A computer not networked, requiring its own printer and other peripherals plus its own installation of application software.

State transition diagram

A directed graph whose nodes represent the states. An edge leading from state s to state t is called a transition and is labelled with a symbolic code, eg a | b. The a part of the label is called the transition’s trigger and denotes the input symbol. The b part, which is optional, denotes the output symbol.

Static data structure

The memory required to store the data structure is declared before run time.

System software

A program that manages the operation of a computer.

Thin-client network

A network where all processing takes place in a central server; the clients are dumb terminals with little or no processing tower or local hard disk storage.

Time-complexity (of an algorithm)

How fast an algorithm runs, expressed as a function of the number of input values.

Topology (networks)

The shape, configuration or structure of the connections that connect device to the network.

Tractable

A problem that has a reasonable (polynomial) time solution as the size of the input increases.

Transition function

Maps (input symbol, current state) to (output symbol, next state, direction of movement).

Transition table

Tabulates the mappings (input symbol, current state) to (output symbol, next state, direction of movement) for all inputs.

Traveller’s problem

The solution finds a route that visits each city exactly once before returning to the starting point.

Tree

A connected undirected graph with no cycles.

Trojan

A program that hides in or masquerades as desirable software, such as utility or a game, but attacks computers it infects.

Tuple

A set of attribute values in a database.

Turing machine (TM)

A formal model of computation that consists of a finite state machine (FSM) that controls one or more tapes, where at least one tape is of unbounded length (ie infinitely long).

Undecidable

Describes a decision-type algorithmic problem that is non-computable.

Underflow

The result of a calculation is too small to be represented using the available number of bits.

Universal TM, UTM

A universal Turing machine can simulate any other Turing machine.

A UTM, U, is an interpreter that reads the description <M> of any arbitrary Turing machine M and faithfully executes operations on data D precisely as M does. For single-tape Turing machines, it is imagined that <M> is written at the beginning of the tape, followed by D.

Usability

The ease with which a user interface can be used by its intended audience to achieve defined goals.

Virtual machine

The apparent machine that the operating system presents to the user, achieved by hiding the complexities of the hardware behind layers of operating system software.

Virus (computer)

A small program attached to another program or data file. It replicates itself by attaching itself to other programs.

Volumetrics

Measurement or assessment of the volume of data that a system will be required to process and store.

Web 2.0

Software that becomes a service that is accessed over the Internet.

Web server extension

A program written in native code, ie an executable or a script that is interpreted by an interpreter running on the web server that extends the functionality of the web server and allows it to generate content at the time of the HTTP request.

Web services

Self-contained, modular applications that can be described, published, located and invoked over a network, generally the web.

WiFi

Trademarked IEEE 802.11 technologies that support wireless networking of home and business networks.

Wireless network

Any type of local area network (LAN) in which the nodes (computers or computing devices, often portable devices) are not connected by wires but use radio waves to transmit data between them.

Worm

A small program that exploits a network security weakness (security hole) to replicate itself through computer networks.