Please fill in your details to login.

key terms explained

This is a collection of key terms and definitions for Computing through all key stages. Use CTRL+F to find what you are looking for!

Computing Key Terms
key term
absolute errorThe difference between the actual number and the nearest representable value.
abstractEither a verb to describe the process of removing detail from something to make it easier (to make abstract), or adjective to describe what is left over after abstraction (an abstract thing).
abstract data type (adt)A data type whose properties are specified independently of any particular programming language.
abstraction (entity)Representation that is arrived at by removing unnecessary details. "This is the abstraction I have produced"
abstraction (process)Simplifying a problem by removing unnecessary detail to enable the problem to be solved using simpler steps. "I abstract detail from a situation"
abstraction (technique)Methods of assessing how important parts of a problem are before deciding whether they have insignificant impact on the solution and can therefore be ignored. "I use abstraction to make my problem easier".
access rightsPermissions on a computer network that give users or deny users access to certain parts of a network.
accumulator (acc)Holds the result of the last calculation to be carried out by the Arithmetic Logic Unit (ALU). Part of the CPU.
acidA set of rules that guarentee that database transations are processed reliably.
actuatorAn output device which converts electrical signals into physical movement. An example might be an automatic door opener or a robot arm.
additionMathematical addition (represented using a '+' sign in Python)
addressA location in main memory used to store data or instructions.
adwareMalicious software which infects a host computer and displays unwanted adverts trick consumers.
aggregationA 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.
ajaxWeb technology that allows only the part of a web page that needs updating to be fetched from the web server.
algorithmA 'recipe' or sequence of 'unambiguous' instructions for solving a problem.
algorithmic thinkingSolving a problem using a combination or abstraction, decomposition, generalisation to identify the steps required to solve it.
alpha type checkMaking sure that the data entered into a computer program contains only letters.
amplitude (sound)A measurement of the displacement of a wave from zero. Determines the loudness of a sound.
analogueContinually varying electrical signal - not a digital signal.
and gateA logic gate with at least two inputs which generates a True output if, and only if, all the inputs are True.
anti-malware softwareSpecial system / utility software which scans the computer system for malware such as viruses, worms, trojans, spyware, rootkits, etc.
append (file handling)Adding onto the end of the existing contents of a file.
application layer (tcp/ip)The layer where network application (web browsers, email, FTP clients) operate
application programming interface (api)A layer of software that allows application programs to call on the services of the operating system.
application softwareSoftware designed to perform a particular function required by the user rather than by the computer.
archivePolicy that involves moving data that is no longer in active use to a different location.
arithmetic (and) logic unit (alu)A component in the CPU which performs mathematical calculations and logical operations.
arithmetic operatorA symbol which is used in programming to represent a mathematical operation.
arithmetic, binaryPeforming arithmetic in base 2
arrayA collection of data items stored under one variable name. Strictly, each item in an array must be the same data type. Sometimes known as a 'vector'.
ascendingIncreasing in value, either numerical or alphabetical.
ascii"American Standard Code for Information Interchange". A standard encoding system for western characters using 7 bits (128 characters).
assemblerSpecific language translation which converts assembly code into machine code. Processor specific.
assembly languageMnemonic based programming language with a 1:1 representation of machine code. Processor dependent.
assignmentStoring a 'value' in the computers memory and giving (assigning) it a 'name' or identifier to allow the computer to retrieve the value later on.
assignment operatorA mathematical operator used to assign a value to a variable or a constant. Usually an equals (=) sign or a leftward facing arrow (←) in pseudocode.
associationIf the relationship is not inheritance or aggregation it is an association.
asteriskA '*' character used to as a wildcard to represent 'any character' in a string.
asymptotic behaviour of 'f'Behaviour of the function f(n) for very large values of n.
asynchronous serial data transmissionTransmission 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.
attributeA property or characteristic of an entity (databases) or an object (OOP).
authenticationA programming method which is used to prove the identity of a human
authentication (network)A method to identify a user on a network
authentication routineA programming routine which authenticates a user
auto documentationSoftware feature used to generate written information about the source code.
automationTurning an abstraction into a form that can be processed by a computer.
average caseWhen running an algorithm, the average number of operations between the best and worst case.
backslash characterA backwards facing slash (\) often used to indicate that the next character should be ignored as an escape character.
backupMaking a copy / duplicate of files in case they corrupt or are lost / deleted.
backus-naur form, (bnf)A formal language used to define other languages
bandwidthFor a transmission medium, the range of signal frequencies it may transmit.
base caseA value that has a solution which does not involve any reference to the general case solution.
base, numberThe maximum number of individual digits available in a number system.
baseband systemA 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 operationThe operation which contributes most to the total running time.
baud rateThe rate at which signals on a wire may change.
behavioural (biometric)Characteristics of the ways in which humans behave which can be used to authenticate / identify them.
behavioursThe functions of the object or what the object does.
best caseWhen running an algorithm when it needs to perform the minimum number of operations possible.
bidmasOrder of operator precedence (brackets, indices, division / multiplication, addition / subtraction)
binaryBase 2 (number system containing two symbols, 0 and 1).
binary digit (bit)Either a 1 or a 0. Symbol 'b'.
binary encodingRepresenting something with a binary code.
binary encoding tableAn 'in order' binary table used to represent binary codes for a collection of objects.
binary prefixKibi (ki), Mebi (Mi), Gibi (Gi), Tebi (Ti), Pebi (Pi), Exbi (Ei), Zebi (Zi), Yobi (Yi)
binary searchA search algorithm which can only be performed on an ordered (sorted) list and works by splitting the list in half and discarding the unwanted items until a search item is either found or not found.
binary shiftA method of multiplying or dividing binary numbers by 2 by shifting the whole number left or right one position.
binary shift, leftMultiplying a binary number by 2
binary shift, rightDividing a binary number by 2
biometric (authentication / security)Using a physical or behavioural characteristic to identify you to a computer system (fingerprint, iris, face, mouse movement, typing style, gait)
bitSee 'Binary Digit (bit)'
bit / colour depth (image)The number of bits used to represent the colour palette of an image.
bit patternA unique pattern of bits used to encode data.
bitmapA two dimensional grid of pixels which make up an image
bitrateThe number of bits transmitted per second through a communication channel.
black-box penetration testingA type of penetration testing used to simulate external hacking or a cyber warfare attack.
blagging (social engineering)Blagging is the act of creating and using an invented scenario to engage a targeted victim in a manner that increases the chance the victim will divulge information or perform actions that would be unlikely in ordinary circumstances.
blu-rayA high-capacity type of optical disk pioneered by Sony for the storage of HD films and video games.
bluetoothA short range, radio-wave connectivity protocol.
booleSurname of George Boole
boolean / boolean variableOf, or pertaining to, 'True' or 'False'
boolean / logical operatorAn operator which returns True or False depending on its operands. AND, OR, NOT, XOR are common examples.
bootloaderSpecial software which runs when the computer is started up. It's job is to initialise the basic hardware and load in the operating system. The bootloader is stored in ROM (Read Only Memory)
boundary data / testTests at the edges of a decision. For instance the boundary tests for 'age <= 5' would be 5 and 6. These tests are designed to test program flow.
branching, conditionalTaking one path or another path through an algorithm dependant on the outcome of a decision statement.
bridgeDevice that connects different network segments and media.
broadbandA multiple data channel system in which the bandwidth of the transmission medium carries several data streams at the same time.
brute force attackRepeatedly trying to gain access to a computer system via trial and error. Often automated using dictionaries or common passwords.
bubble sortA sorting algorithm where during a pass, neighbouring values are compared and swapped if necessary. Passes are made until no further swaps are needed.
bus (computer)Collection of wires used to transmit data from one component of a computer to another.
bus topologyA physical arrangement of computers in a network where all the computers are attached along a single wire.
byteA group of 8 bits. Symbol 'B'.
cache (memory)Fast memory on the processor which is used to store recently / commonly used instructions. Level 1 cache is faster (but more expensive) than Level 2 cache.
camel capsA way of writing identifier names with no spaces and the first letter of the second and subsequent words are written in capitals. For instance, the identifier 'number of spokes' would be written 'numberOfSpokes' in camelCaps.
captchaShort for "Completely Automated Public Turing test to tell Computers and Humans Apart".
cast / castingSee Type Casting
central processing unit (cpu)Fetches instructions from memory, decodes the instructions based on it's instruction set and executes them. Some instructions will require data to be fetched from memory as well.
characterA symbol / letter / number / shape.
character codeA binary code for a particular character in a character set. Humans often prefer them in denary.
character encodingDesigning an encoding table for characters (letters, numbers, symbols).
character setA list of characters known to a computer system recognisable from their binary representation.
check digitA calculation performed on one number or sequence of characters to generate another number or character. Used to check for errors in the original sequence.
cipher textMessage data after it has been encrypted.
circular queueWhen 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 definitionA template that can be used to create objects of that class.
clientA computer that uses the services provided by a server.
client-server networkA network in which some computers (the clients), request services provided by other computers, the servers.
clock (system)Keeps the whole computer system synchronised.
clock speedThe clock speed determines (and represents) the number of operations that a processor can perform per second.
closed path/circuitA sequence of edges that start and end at the same vertex and such that any two successive edges in the sequence share a vertex.
closed source softwareSee 'Proprietary software' (because it means the same thing!)
cloud storageMagnetic or Solid State storage at a remote location accessed via the Internet (through a web browser or client software)
code (encoding)A value which is used to represent something else
code (programming)Another word for program / the act of programming
collective nounA word used to name a group of objects.
colossusColossus was a set of computers developed by British codebreakers in the years 1943–1945 to help in the cryptanalysis of the Lorenz cipher.
colour depthRefers to the number of bits used to represent the colour of each individual pixel.
comma separated valueSee 'CSV'
command line interface (cli)Text based user interface based on the use of scripts, typed commands. Commonly used for servers or remote access.
command prompt (computer system)A series of characters which displays in a Command Line Interface (CLI) followed by a flashing cursor which tells the user that the computer system is waiting for input.
command prompt (programming)In programming, a message which tells the user what data to enter.
commentA line in a computer program which is ignored by the language translator and is only included for the benefit of programmers.
communication protocolA set of agreed signals, codes and rules to be used for data and information exchange between computers.
comparisonMeaning to compare mathematically
comparison operatorA mathematical operator used to compare two operands returning True or False.
compilerLanguage translator which converts source code to object code all in one go. Platform dependant.
complexity of a problemTaken to be the worst case complexity of the most efficient algorithm which solves the problem.
componentPart of a whole system
composite keyA combination of attributes that uniquely identifies a tuple / record.
compression (data)Reducing data storage requirements in order to reduce storage requirements or enable faster data transfer across a network.
computational complexityA measure of how economical an algorithm is with time and space.
computational thinkingA way of thinking where a problem and a solution is expressed in such a way that a computer could be given the instructions to solve the problem.
computer architectureThe way that a computer is 'designed' or 'built' to operate. There are two main types - von Neumann and Harvard.
computer misuse act (1990)Legislation used to safeguard data on computer systems from intentional theft (hackers / viruses).
computer programA list of unambiguous instructions for completing a computable task.
computer systemCombination of hardware and software to produce a viable computational device
concatenationTo join together as in string concatenation.
conceptual modelA 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.
condition-controlled loopsA looping/interation structure which continues while a condition or true, or until a condition is met.
conditional branchingAn alternative path through an algorithm which is determined by the outcome of a decision statement.
conjunctionAn alternative name for an AND operation. Given the symbol ⋀ (wedge) in Boolean expressions.
constantA named value which is not changed during the operation of a program. Used to 'define once, use many'. Mathematical constants include 'Pi' and 'e'.
contextPuts the data into a valid human situation.
control unit (cu)Part of the CPU which controls the flow of instructions and data around the processor. It coordinates and carries out the Fetch, Decode, Execute cycle.
copper (cable)Most common electrical conductor.
copyright designs and patents act (1988)Legislation used to protect the Intellectual Property (IP) of authors of creative work.
core / coresA single processing element in a Central Processing Unit (CPU) or in a Graphics Processing Unit (GPU)
count-controlled loopA looping/iteration structure which executes a fixed number of times.
creative commons licensingA method used to grant copyright permission to creative work which allows the author to retain copyright whilst allowing others to copy, modify and distribute their work.
cryptanalysisA method of trying to find the plain text from the cipher text without the decryption key.
cryptographyThe science of designing cipher systems.
csvStands for 'Comma Separated Value' - where each record in the file is stored on a separate line and each value in the record is separated by a comma.
culturalIssues caused by computer systems which affect what is culturally acceptable, i.e. political / economic, religious, changing working patterns, education, impact on the third world.
current instruction register (cir)Holds the current instruction being executed. Part of the CPU.
cyber securityProcesses, practices and technologies designed to protect networks, computers, programs and data from attack, damage or unauthorised use.
cycleA closed path in which all the edges are different and all the intermediate vertices are different.
dataRaw facts and figures with no meaning.
data inspectionUsing monitoring software or hardware to 'listen' to network traffic in order to steal information.
data interceptionA method of evesdropping on data traffic in order to gather data.
data modelA 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 protection act (1998)Legislation used to safeguard the collection of personal data by organisations. Replaced by the General Data Protection Regulation (2016).
data securityProviding facilities to safeguard the data inside a computer system from accidental or deliberate loss, corruption or theft.
data structureA method of grouping data together in order to make it more straight forward to store, find, update and delete. Examples include lists, stacks, queues, graphs and trees.
data transmissionMovement of data.
data typeThe class of data for example integer, decimal (float), string, character, boolean. Determines what types of processing can occur with the data.
databaseA persistent, organised store of data in electronic form.
database management systemA software system that enables the definition, creation and maintenance of a database and which provides controlled access to this database.
decidableA problem which is able to be solved with a 'yes' or 'no' answer.
decimalNumber with a fractional part. Often used instead of the term 'denary' to represent a base 10 number.
decision problemA problem that has a 'yes' or 'no' answer.
decision statementA statement with a True or False outcome
decision symbol (flowchart)A diamond shaped symbol on a flowchart which is designed to facilitate branching.
declarationTo define a variable or subroutine.
declareCreating a variable (usually of a certain data type) before you use it to reserve space in memory. Some programming languages (like Python) don't require you to do this but it's always good practice anyway.
decode (operation)The instruction code is decoded using the processor instruction set to work out what it is
decodingConverting a code into raw data.
decompositionTo break down into smaller, more manageable parts in order to make a problem easier to solve. (decompose, decomposing)
decryptionUsing an algorithm and a key to convert encrypted message data into its plain text equivalent.
defensive designMethods which are used to design software to pre-empt user behaviour and handle any potential errors before the program crashes.
definite iterationKnowing, before a loop is executed, how many times it will run.
defragmentation softwareOrganises files / parts of files on an internal secondary storage device (hard disk drive) to maximise drive performance and free up unusable space.
degree (of a vertex)The number of neighbours for that vertex.
degree of relationshipBetween 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.
delimitedSurrounded by or separated by. Define the boundaries.
denaryBase 10. Number system containing 10 symbols (0 to 9).
denary prefixKilo (k), Mega (M), Giga (G), Tera (T), Peta (P), Exa (E), Zetta (Z), Yotta (Y)
denial of service attackUsing a host computer to repeatedly request data from a server causing the server to crash or 'deny service'.
descendingDecreasing in value, either numerical or alphabetical.
design (software)The process of constructing algorithms, data structures and user interfaces for a software application.
desk checkingManually checking the operation of an algorithm with test data before running the program.
deterministic finite state machine (fsm)An FSM that has just one next state for each pair of state and input symbols.
device driverSoftware which translates signals from a hardware device into commands understood by the Operating system and vice versa. Usually written by the device manufacturer.
diamond (flowchart)A symbol used in a flowchart which contains a decision statement. Only ever have two outcomes, one for True and one for False.
dictionaryA data structure which links a 'key' to a 'value'.
digit type checkMaking sure that the data entered into a computer program contains only numbers.
dimensions, imageThe width and height of a bitmap image
directed graphA diagram consisting of vertices, joined by directed edges.
disjunctionAn alternative name for an OR operation. Given the symbol ⋁ (vee) in Boolean expressions.
display / monitorAn output device which produces a visual image. There are many different types including LED, LCD, OLED.
display unit, visual (vdu)An output device which displays text and images using pixels.
distributed denial of service attack (ddos)Using host computers or bots to repeatedly request data from a server causing the server to crash or 'deny service'.
divide and conquerA strategy to solve a problem where the problem is broken down into smaller and smaller parts which are easy to solve before combining the solutions back together to solve the initial problem.
dlp projectorDigital Light Processing projector which uses a 'microelectromechanical' device which uses digital 'micromirrors' to produce an image.
do ... whileAn iteration structure which executes a loop body whilst a condition at the end of the loop is true.
domain name system (dns)Global network which runs on top of the Internet and converts the URL of a website into an IP address of a server so that we can request a web service via its human readable domain namewithout having to remember the individual server IP address.
driverA piece of software usually written by a hardware manufacture which allows the operating system to interact with the hardware.
dynamic allocationMemory space is only allocated when required at runtime.
dynamic data structureThe memory taken up by the data structure varies at run time.
dynamic web page contentContent that is generated when the web browser request is received.
efficiency, algorithmicA measure of the time or space required for an algorithm to run.
email verificationUsing email to check that a new user to a system has access to a specific email address. The assumption is that this ensures they are who they say they are as they, and only they, would have access to the email.
embedded systemA computer system inside another electronic device with a specialised purpose (which it is designed to perform very well).
encapsulationCombining a record with the procedures and functions that manipulate it to form a new data type; a class in OOP.
encode / encodingRepresenting something with a code.
encoding systemThe rules / patterns used in an encoding table.
encryptionUsing an algorithm and a key to convert plain text into cipher text, a form that is not understandable without decrypting using the key. Used for safe storage or transmission of data.
encryption (network)Usually takes place in an 'end-to-end' fashion - using ciphers to encode and decode information so that no-one can evesdrop on the data traffic.
end userAnother way of referring to the person using the computer system.
entityAn object, person, event or thing of interest to an organisation and about which data are recorded.
environmentalEffect that computer systems have on the environment, i.e. use of fossil fuels, mining and use of natural resources, disposal.
equal toMathematically the same.
erroneous test dataTesting data which is obviously wrong (i.e. wrong data type) or outside range.
error checkingChecking data to find errors / mistakes.
escape (character)To force the next character to be ignored as a control character in a string
ethernetA local area networking communication protocol.
ethicalIssues caused by computer systems which affect what is right and wrong from a societal perspective i.e. impact of robotics / AI, digital divide, privacy, online content.
evaluationA systematic assessment of whether something meets its objectives or specifications and how well it meets the latter in terms of effectiveness, usability, maintainability.
exception blockA section of code containing 'try ... except' which is designed to trap unexpected errors.
exception handlingA technique which tries to force a program to crash but traps the error before it displays on the screen. A way of trapping unexpected errors.
execute (operation)The instruction is carried out. This may involve reading / writing to main memory.
exifCommon metadata standard used to store information about JPEG images.
explorer's problemThe solution finds a route that traverses each road exactly once before returning to the starting point.
exponential growthGrowth that has the form kn, e.g. 2n where k = 2 and n = 1, 2, 3, etc.
exponential time algorithmAn algorithm whose execution time grows exponentially with input size.
exponentiationRaising one value to the power of another.
expressionA part of a computer program which represents a value. May or may not contain variables.
extended asciiA character encoding system extending ASCII to 256 characters using 8 bits. Includes some non-western characters and drawing symbols as well.
extreme data / testAlternative name for 'boundary data / test'.
failoverProcess of automatically switching to a standby computer or network during system downtime.
falseNot True / Incorrect. One of the two Boolean values.
feasibility studyA study that investigates the potential of a new system.
fetch (decode) execute cycleThe processor carries out these 3 (4) operations continually in a Von Neumann Architecture machine
fetch (operation)The next operation is fetched to the CPU from main memory
fibre optic (cable)Cable technology which uses light to transmit data
fieldOne value from a record. A single property of an entity.
fileA format in which data can be stored on secondary storage.
file handleAn identifier which is used to interact with the operating system to gain access to a file.
file handlingUsing a programming language to read or write data to a file on secondary storage. Involves opening, reading, writing or appending to and finally closing a file.
file managementA service provided by an operating system to enable the user to save, load and organise files and directories (folders).
file transfer protocol (ftp)A networking protocol used to transmit binary files between clients and a server.
file, comma separated value (csv)A file structure for storing records where the individual fields in each record are separated using commas.
file, textA file format which encodes the data using ASCII / Unicode.
filesizeA downside of storing better quality images/audio is that this attribute will be larger.
finite state automationA finite state machine that produces no output whilst processing. It responds YES or NO when processing of the input data has finished.
finite state machine (fsm)A model of some types of computation that consists of a set of input rules and output conditions and a set of transitions between states. Generates an output as processing takes place.
firewallA computer application used on a network to prevent external users gaining unauthorised access to a computer system.
firmwarePermanent software programmed into a read-only memory.
first generation (programming) language.Alternative name for 'machine code' - processor specific binary instructions.
fixed program systemSee Embedded System.
flagAn alternative name for a Boolean variable which is used to indicate whether something has happened or not. A flag can either be True (indicating something has happened) or False (indicating something hasn't).
flash memorySolid state (no moving parts) memory. There are different types of flash for different purposes. Flash is semi-volatile, low power consumption, robust storage.
flat fileType of database which contains only one table.
floatA number with a decimal part.
float divisionSee 'Real / Float Division'.
floating point notationA real number represented by a sign, some significant digits (the mantissa) and a power of 2 (the exponent).
flowchart / flow diagramA visual way of representing an algorithm using special symbols and arrows.
for ... nextAn iteration structure which executes a loop body a fixed number of times.
foreign keyAn attribute in one table that is a primary key in another, related table.
formUser interface tool which allows a user to enter or change data in a table.
formattingThe process of wiping and preparing a disk drive for new use, carried out by software.
freedom of information act (2000)Legislation which allows citizens to request access to personal data from public bodies concerning their activities.
frequence (sound)The number of cycles per second of a vibrating object which generates a sound. Determines the pitch of the sound and is measured in Hertz (Hz).
frequency / data pairUsed in run length encoding to compress data volume
full backupMaking a copy of every file to a removable or offsite storage device.
functionFunctions in code work just like functions in mathematics: they are sections of code under a single name which always take at least one parameter (may be default and not actually specified), and always returns a result.
gatewayA device used to connect networks using different protocols so that information can be successfully passed from one system to another.
general caseThe solution in terms of itself for a value n.
gifCommon Internet file format used to display animated images.
gigabyte (gb)1,000,000,000 (billion) bytes. 1000 megabytes.
global variableVariable that is available in all parts of a script.
graphA diagram consisting of vertices joined by edges.
graphical user interface (gui)User interface using Windows, Icons, Mouse, Pointer (WIMP). Commonly used for desktop / personal computing devices.
graphics processing unit (gpu)A processor specially designed for displaying and manipulating still and moving images. Massively parallel and used in many other data processing applications these days.
greater thanMathematically bigger in value
greater than or equal toMathematically bigger than or equal in value
hackingThe use of computers to access data without authorisation.
halting problemThe unsolvable problem of writing a program that can tell whether a given program and its inputs will halt, without running the given program.
halting stateA state that has no outgoing transition.
handshaking protocolThe sending and receiving devices exchange signals to establish that they are each ready to initiate data transfer.
hardwarePhysical components of a computer
harvard architectureComputer architecture used in microcontrollers where the program and data are stored in separate memory.
hashTo generate a hash value
hash valueA value calculated from properties of an object which can be used to uniquely identify the object in a list.
heuristicAn 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.
hexadecimalBase 16 number consisting of numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F.
high level (programming) languageA programming language which uses English like words, symbols and structure.
hosting (web)Storing the pages and supporting files for a website on a server. Due to ease of management, web hosting is commonly provided by third party companies although you can host websites yourself (either locally or publically with a fixed external IP address).
hubA device for connecting multiple network devices in one segment.
huffman codingA 'dictionary' encoding / compression technique
huffman treeThe visual representation of Huffman coding
human-computer interactionThe study, planning and design of what happens when a computer and human work together.
hyperlinkAn item on a web page that directs the user to another page when clicked.
hypertext markup language (html)The main markup language used for displaying web pages in a browser.
hypertext transfer protocol (http)A protocol (set of rules) which defines how to identify, request and transfer web pages over a network.
hypertext transfer protocol secure (https)A secure, end-to-end encrypted protocol (set of rules) which defines how to identify, request and transfer web pages over a network.
identifierA name which is used to reference a variable, constant, sub-program or a class.
imageA visual artifact - can be either bitmap or vector
immutableUnable to be mutated or changed.
imperativeInstructions which tell you how to complete a task.
implementation (software)Using software designs to produce a working solution.
incremental backupMaking a copy of files which have changed since the last backup. Requires a full backup to be carried out first before incremental backup can be run.
indefinite iterationNot knowing, before a loop is executed, how many times it will run.
indentiationTabbing' a line of code our from the left margin to give code structure.
index / indicesNumbers which specify the position in a list or a string.
informationData + Structure + Context + Meaning
inheritanceThe relationship between two object types in which one is a kind of the other and shares some of its properties or behaviours.
initialisation / initialiseGiving a variable an initial value so that it can be changed later in the program.
inputPutting data into a computer system
input / output symbol (flowchart)A flowchart symbol which represents an input or an output from a system.
input deviceA device which is used to put data into a computer system.
input sanitisation"Cleaning" input values before sending them into the main program by removing unecessary or dangerous symbols or structures.
input statementA programming statement which is designed to ask the user for input.
input validationSee Validation
insertion sortEach item in the unordered list is taken in turn and compared to the items in the ordered part of the list and placed in the correct position.
instantiationAn object is defined based on a class.
instruction setA (small) list of commands that is built into a CPU.
integerA whole, positive or negative number.
integer / quotient divisionA type of division which only return the integer part of the result. The effect is always to round down.
integrated development environment (ide)Software tools used to write code. Often include features like code editors, syntax highlighting, run-time environment, breakpoint / debugging tools etc.
internetA global wide area network that is formed from the interconnection of many other networks and uses the TCP/IP protocol.
internet layer (tcp/ip)The layer which addresses and routes the packets across the network.
internet message access protocol (imap)A protocol used to retrieve email from a server, manage mailboxes and leave a copy on the server until its deletion is requested.
internet protocol (ip)Operates in the Internet layer.
internet protocol addresA 32 bit or 64 bit unique code within a network to identify the host.
interpreterLanguage translator which converts source code into object code one command at a time. Usually platform independent.
intractable (problem)A problem which is solvable but only with an algorithm which is in the exponential time complexity band at best. Intractable problems are solvable but only in a reasonable amount of time for small input sizes.
invalid (test data)Data which is outside the acceptable range or type.
isoThe world's largest standards developing organisation.
iteration / repetitionRepeating some code block until a specific goal is reached
iterative testingTesting each part of a program as it is developed.
joinIn databases, a way of linking two or more tables together in a query.
jpegThe most common compressed image format used today
kernalThe lowest level of an operating system that controls the hardware
key (encryption)A secret word, phrase or collection of characters which is used alongside an algorithm to convert plain text into cipher text or vice versa.
keyboardAn input device with keys. The computer maps the binary signals from the keyboard to characters from its character set.
kilobyte (kb)1,000 (thousand) bytes
labelled or weighted graphA graph in which the edges are labelled or given a value called its weight.
length (array / list)The number of elements in an array / list
length (string)The number of characters (including spaces) contained in string
length checkEnsuring that the data entered into a computer system is of an acceptable number of characters in length.
length validationChecking data is valid by inspecting its length.
less thanA comparison operation represented by '<'
less than or equal toA comparision operation represented by '<='
linear queueElements join the queue at one end and leave the queue at the other.
linear searchStarts 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. Is the only option with an unordered list (though could be used for any list).
linear time algorithmAn algorithm that executes in O(n) time.
link layer (tcp/ip)The layer where the networking hardware operates.
listA collection of elements with an inherent order.
list slicingSplitting up a list into sections using the indices of the positions in the list.
local area network (lan)A network, usually owned and managed by one organisation, located in a relatively small geographical area.
local variableVariable that is available only in the part of the script in which it is defined.
logic circuitA single or series of logic gates connected together which transforms inputs into outputs using logical operations.
logic circuit diagramA diagram which represents a logic circuit
logic errorSee Semantic/Logic error
logical operatorSee Boolean Operator
loginIdentifying yourself to a system with a username and gaining access by providing a secret 'key' / 'password'.
loop bodyThe section of code inside a loop.
loop, nestedOne loop (inner loop) inside another loop (outer loop)
lossless compressionA compression technique which guarantees no data loss. Used for files / documents.
lossy compressionA compression technique which 'doesn't mind' losing information. Used mainly for media such as sound, images and video.
low level programming languageA programming language which uses either mnenomics or binary.
mac address filteringEither a whitelist of allowed MAC addresses (devices) which are allowed to connect to a network or a blacklist of disallowed MAC addresses (devices) which are not allowed to connect to a network.
machine codeBinary representation of processor dependent instruction set. The lowest level programming language. Used to write device drivers and other low level software by really clever programmers who like '0's and '1's.
magnetic storageUses the magnetic properties of metals to store binary data. Example : Hard disk drive, magnetic tape, floppy disk. Non-volatile.
main memoryMemory on the motherboard which is larger in size than Cache but which is much slower. Known as primary storage. Main memory is volatile and loses its contents when then power is removed.
maintainability of softwareHow easy it is to fix bugs, change parameters and respond to changing requirements.
maintenanceFixing bugs, changing parameters and responding to changing requirements.
malicious codeSoftware which is written to circumvent security protection like Viruses, Trojans and Worms.
malwareAn umbrella term used to refer to a variety of hostile or intrusive software
maximum length checkEnsuring that the data entered into a computer system is less than or equal to a maximum required length.
mealy machineA finite state machine (FSM)that determines its outputs from the present state and from the inputs.
meaningIs implied from the data, the structure and the context.
media access control (mac) addressA unique hardware address which is used to identify a networking device.
megabyte (mb)1,000,000 (million) bytes. 1000 kilobytes.
memoryA device in a computer which is used to store programs which are currently being executed. Sometimes known as 'RAM'.
memory address register (mar)Holds the current value of the Program Counter (PC) which gives the memory address of the next instruction / data to be fetched into the Memory Data Register (MDR). Part of the CPU.
memory data register (mdr)Holds the data which is currently being addressed by the Memory Address Register (MAR). Sometimes known as the Memory Buffer Register (MBR). Part of the CPU.
memory managementSoftware which automatically handles the changing memory requirements of programs
merge sortAn unordered list of 'n' items is split into 'n' individual lists and then combined into a ordered list (two lists at a time). Merge sort is classically implemented using recursion.
mesh network/topologyDevices connected together through multiple networking devices (switches / hubs) such that there is more than one route between devices.
metadataData describing other data. Often found in image and sound files.
microcontrollerA compact integrated circuit designed to control the operation of an embedded system.
minimum length checkEnsuring that the data entered into a computer system is equal to or greater than a minimum required length.
misconfigured access rightsAn error in the access rights granted to a person or a group of people which allow them access to data that they shouldn't have access to.
modelAn 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.
modemDevice which converts between digital and analogue signals, e.g. telephone line to computer
moduleModules are extensions that can be imported into Python to extend its capabilities. For example, several useful mathematical functions are available in the math module.
modulo arithmetic / divisionFinding the remainder after an integer division. For instance, 13 MOD 3 = 1 because 3 'goes into' 13 with 1 left over. Sometimes called 'clock arithmetic'. Used for example, to determine whether a number is odd or even.
monochromeImage type consisting of various shades of a single colour
motherboardCentral printed circuit board that holds the different computer components
mp3The most common compressed audio format used today
mpegFamily of file standards used to store compressed video
multicore processorA processor made up from more than on processing core
multiplicationA mathematical operation.
multitasking / multitaskA device which can execute / carry out more than one task simultaneously by allocating each task a 'slice' of processing time.
mutable / mutabilityThe property of being able to be mutated or changed.
nand gateA logical electronic device which will output False if both inputs are True, False otherwise. Inverts the logic of an AND gate.
natural language interfaceUses speech as input and output.
negationAlternative name for a NOT operation. Given the symbol ¬ (not) in Boolean expressions.
neighboursTwo vertices are neighbours if they are connected by an edge.
nestingOne control block (selection / iteration) inside another one.
network (computer)A physical connection for data transfer between computer systems.
network hubSimple networking hardware which works in the Data Link layer of the TCP/IP stack using MAC addresses. Not aware of which devices are connected to it and broadcast traffic to all connected machines.
network interface card (nic)Circuit board installed into a computer to allow it to connect to networks
network securityProviding facilities to safeguard network access to authorised persons to prevent accidental or deliberate loss, corruption or theft of data.
network switchIntelligent networking hardware which works in the Data Link layer of the TCP/IP stack using MAC addresses. Aware of different devices which are connected to it. Contains from 4 to 32 networking ports.
non-computableAn algorithmic problem that admits no algorithm.
non-embedded (computer system)A computer system which 'stands alone'.
non-volatile (storage)Storage which retains it contents when the power is switched off.
nor gateA logical electronic device which will output False if either, or both, input is True. Inverts the logic of an OR gate.
normal test dataData which lies on the inner boundary of a condition or within an acceptable range.
normalisationA technique used to produce a normalised set of entities in a database.
normalised entitiesA set of entities that contain no redundant data.
not equal toMathematically not equal.
not gateAn invertor. The output will be the binary inverse of the input.
nounA word used to name an object.
null pointerA pointer that does not point to anything, usually represented by Ø or –1.
nybble / nibbleFour bits / half a byte.
objectAn instance of a class.
off the shelfSoftware that is mass produced for a wide range of users
offline (storage)Secondary storage which can be removed from a computer system such as a removable disk.
one dimensionalHaving a single dimension. Often used for lists.
online (storage)Secondary storage which is permanently attached to a computer system and is always accessible whilst the computer is switched on
open source softwareSoftware which users can download, modify and distribute for free. Support is provided by the developer and the wider community.
open standardsA standard that is freely available for public use
operating system (os)Software which controls the interface between the computer hardware and the user. It is used 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.
operatorA symbol or function which represents a mathematical or logical operation. Usually (but no always) found between two operands.
optical storageSecondary storage which uses light (laser) to read from and write to the storage media. Examples CD/R, CD/RW, DVD/R, DVD/RW, Bluray.
optionalityThe condition of being or not being required
or gateA logic gate with at least two inputs which generates a True output if at least one input is True.
order of complexityOf a problem is its big O complexity.
ordered listA list of values in order
outputData flowing out of a computer system
overclock (processor)Forcing a processor to execute more operations that it was designed to do in a given time period.
overflow (error)The result of a calculation is too large to be represented using the available number of bits.
packetFormatted unit of data sent across networks
packet switchingData transmission methodology which splits data into small 'packets' which are suitably labelled with source and destination. Each packet takes it's own route to the destination and are assembled back into the correct order on arrival.
parallel data transmissionMultiple bits are sent down several wires simultaneously.
parameter / argumentsValues passed into a subroutine.
passwordSecret string used to authenticate a user to a system.
pdfFile format designed for cross-platform document creation and distribution
peer-to-peer networkA 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.
penetration testingProcess of attempting to gain access to resources without knowledge of usernames, passwords and other normal means of access.
peripheralA device which is part of a computer system but the hardware is located outside the computer system and is necessarily integral to the computer system operating.
peripheral managmentA function performed by the operating system which allows it to access and manage peripheral devices.
persistent data storeA store of data which is non-volatile.
personal area network (pan)A short range connection between computer systems, usually using Bluetooth.
petabyte (pb)1,000,000,000,000,000 bytes. 1000 terabytes.
pharming (social engineering)Pharming is a cyberattack intended to redirect a website's traffic to another, fake site.
phishing (social engineering)Phishing is a technique of fraudulently obtaining private information, often using email or SMS.
physical securityPreventing access to a computer system by locking doors and windows and requiring identification to access.
physiological (biometrics)Actual physical characteristics of humans which can be used to authenticate / identify them.
piracyUnauthorised copying of computer software/media
pitch (sound)The audible note which is generated by a vibrating object.
pixelPicture Element - the smallest part / single point in a bitmap image
plagiarismThe practice of taking someone else's work to claim as your own
plain textMessage data before it is encrypted.
pointerA variable that contains a memory address. The pointer 'points' to the memory location with that address.
pointer typeA variable of pointer type that stores an address of a data value.
polymorphismGiving 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 growthGrowth that has the form nk, e.g. n3 where k = 3 and n = 1, 2, 3, etc.
polynomial time algorithmAn algorithm whose execution time grows as a polynomial of input size.
positionStarts at index 0
post office protocol version 3 (pop3)An email protocol which is used to download email messages from a server and delete them from the server.
precisionThe maximum number of significant digits that can be represented.
presence check (validation)Checking data is valid by making sure it is not blank.
primary keyAn attribute or set of attributes which uniquely identifies a tuple.
primary storageReferring to the computers Random Access Memory where the programs and data which are executing is stored.
principle of universalityA universal machine is a machine capable of simulating any other machine.
printerAn output device which produces document hard copies. There are many types of printer including laser, inkjet, dot matrix, line, plotter, thermal.
priority queueEach element of a priority queue has an associated priority.
privacyIssues which affect the sharing of personal data, i.e. CCTV, snooping, voice control, GPS tracking.
problem solvingA formal way of using computational thinking skills to solve a problem
procedureType of subroutine which may take parameters but returns no value. Used to structure code.
process symbol (flowchart)A flowchart symbol which represents an assignment, mathematical or logical statement.
processingThe act of calculation / manipulation of data.
processorA central device in a computer system which controls the operation of the computer and provides tools to perform calculations. See CPU.
program / language translatorSoftware which converts a high level language into a low level language
program counter (pc)Holds the memory address of the next instruction / data to be fetched. Part of the CPU.
programmerSomeone who writes computer programs
programming constructBlanket terminology for sequencing, selection and iteration.
programming languageA machine or human level language which allows programmers to communicate an algorithm to a machine in a formal way.
prompt (programming)A series of characters followed by a flashing cursor which tells the user that the computer system is waiting for input.
proprietary softwareUsers can download software (paid or free) but cannot modify or distribute. Support provided by developer.
protocol (network)An agreed set of rules (physical or software) for communication.
prototypeAn early or trial working version of the proposed system developed to test possible solutions.
pseudo-codeNon-programming language specific way of communicating an algorithm. May contain symbols.
pseudo-random numberA series of numbers generated by computer with apparent randomness.
pythonA programming language invented to teach programming but now widely used in education, industry and research.
queryA request for data from a database.
queueA first-in-first-out (FIFO) abstract data type.
quotation marksCharacters used to delimit strings.
random access memory (ram)Main memory / primary memory. Each location can be accessed immediately. Sometimes called immediate access store. RAM is volatile and loses its contents when the power is removed. Temporary store for programs currently running and data currently in use.
random numberA number (usually between 0 and 1) generated using a random number generator. Used to simulate real life events.
random number generatorFunctions built into a programming language which allow it to generate random numbers. Pure RNGs usually generate numbers between 0 and 1.
random number generator, pseudoComputers use a 'seed' to generate the random number which is normally based on the system time. Depending on the size of the seed, the random number sequence can repeat and hence is not truly random.
range checkEnsuring that the data entered into a ocmputer system is within a valid numerical range.
range length checkEnsuring that the data entered into a computer system is no less than the minimum length and no more than the maximumlength.
range validationChecking data is valid and within a set numerical range.
rasterGraphics format consisting of a matrix of dots
read (file handling)To retrieve data from a file.
read only memory (rom)Non volatile memory which does not lose its contents when the power is switchedoff. Stores instructions for starting up the computer called a bootloader.
real / floatAlterative term for decimal - a number with a decimal part.
real / float divisionA type of division which always returns a decimal value.
reassignmentOverwriting a value in memory with another value whilst retaining the same identifier. The original value is lost.
recordA group of related data tied to a single key value / A collection of attributes which describe an instance of an entity. All the data in one item in a database.
recursionAn subprogram which calls itself.
recursive definitionOne that is defined in terms of itself.
recursive routineA routine defined in terms of itself.
redundancyName given to the undesirable effect of having duplicate data in a database
reference languageA formal, non-programming language specific method of writing algorithms. See Pseudocode.
referential integrityIf a value appears in a foreign key in one table it must also appear in the primary key in another table.
registerFast access part of the processor that stores data being used by the CPU
regular expressionA notation for defining all the valid strings of a formal language or a special text string for describing a search pattern.
regular languageAny language that a finite state machine (FSM) will accept.
relationA set of attributes and tuples, modelling an entity (a table).
relational databaseA collection of two or more tables which can be linked together by means of primary and foreign keys.
relationshipAn association or link between two entities.
relative errorThe absolute error divided by the actual numbers.
remoteSomething which is not where you are, in another building or another country perhaps.
removable mediaSecondary storage media that can be removed from a computer system like Flash memory, CDs and DVDs
repeat ... untilAn iteration structure which executes a loop body until a condition at the end of the loop is true.
replShort for 'Read, Evaluate, Print, Loop' - an immediate console used to interact with a programming language interpreter.
reportDatabase management tool used to present information to the user
resolution (image)The number of pixels displayed per unit length
return valueA value returned from a function to the calling routine.
ring networkTopology in which messages travel in one direction through a chain of computers
rngSee 'Random Number Generator'
robust (code)The program will function reliably and not crash or go into infinite loops, even with incorrect inputs or unpredictable values.
rooted treeA tree in which one vertex has been designated as the root and every edge is directed away from the root.
routerA 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. Works in the Internet (IP) / Network layer of the TCP/IP Stack.
rubber duckA plastic duck - programmers use the term when they are explaining code out loud - instead of speaking to human, the programmer will talk to a duck on his / her desk. The vocalisation of the problem often yields the solution.
run length encoding (rle)A compression technique which utilises repetition of data to reduce data volume
runtime environmentSoftware feature which allows code to be run without being compiled
runtime errorA error caused by an unexpected occurance during the operation of a program i.e. division by zero, file not found, incorrect data types etc.
sampleA single measurement of wave amplitude at a point in time
samplingThe act of measuring the height of a wave at a given interval
sampling rateThe frequency of sampling of a sound wave or the number of samples taken per second, measured in Hertz (Hz).
sampling resolutionThe number of bits used to store a single analogue data sample. Also known as 'sample depth'.
script (program)A computer program which is stored in a text file and can be saved, loaded and executed by a programming language interpreter.
searchTo look for a value ina collection of values.
search, binaryA search technique used to find a value in a sorted (in-order) list by successive halving of the original list. Runs in logarithmic time complexity.
search, linearA search technique mainly used to search for values in an un-sorted list by inspecting each value in turn until the value sought is either found or the list exhausted. Runs in linear time complexity.
second generation (programming) languageAlternative name for 'assembly code' - processor specific mnemonic based language which is translated into machine code by an assembler.
secondary storagePermanent storage of instructions (operating system and programs) and data not currently in use by the processor. Read / write and non-volatile.
selection / choice / decisionMeans making choices on the direction of program flow depending on the outcome of a decision statement.
selection statementAn 'if' statement and possibly multiple 'else if' blocks and an optional 'else' block
selection, nestedOne selection statement inside another.
semantic / logic errorAn error in the logic of a calculation which gives the wrong answer. You can only find logic errors by manually working out what the answer should be.
sensorA device which gathers data from the environment without human interaction.
sequenceA programming construct where a set of instructions is executed in order
sequence checkEnsuring that the data entered into a computer system is from a list of acceptable values.
sequential fileA database file where a series of items is stored in a logical order
serial data transmissionSingle bits are sent one after another along a single wire.
serial fileA database file where Items are stored as a series, one after another
serverA computer that provides shared resources to network users or clients.
shell (computer system)An alternative name for the Command Line Interface.
shell (programming)An alternative name for the interface of an interpreter.
shouldering (social engineering)Shouldering is observing a person's private information over their shoulder eg cashpoint machine PIN numbers. Sometimes known as 'shoulder surfing'
significant digitsThose 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 graphA graph without multiple edges in which each edge connects to two different vertices.
simple mail transfer protocol (smtp)Protocol used to send email to an email server for relaying to another email address.
social engineeringUsing the inherent weakness of human character to gain access to data through a computer system.
social networkOnline service that allows easier communication between people, such as Facebook
softwarePrograms which 'run' on a computer system
software as a service (saas)A model of software deployment where an application is hosted as a service provided to customers across the internet.
software updatesFixes and features which are added to software and operating systems after the general release of the software. Sometimes called 'patches' and often used to fix security vulnerabilities.
solid state (storage)Non-volatile storage based on solid state memory circuits using transistors. Example : Flash drives, memory cards, solid state drives (SSD). Used in digital cameras, phones, tablets and high end portable computers.
sortTo put in order
sorting algorithmAn algorithm designed to sort a sequence into order.
soundAn aural artifact - can be sampled or generated
space-complexity (of an algorithm)How much memory an algorithm needs.
speaker / headphoneAn output device which converts analogue electrical signals into audio. Devices include speakers and headphones.
spywareMalicious software which silently installs on a computer system and tracks all the things you do, websites you visit and key-presses you make.
sqlSee 'Structured Query Language'
sql injectionTyping special SQL commands in text entry fields on a website can lead to malicious SQL commands being run on a database in order to reveal usernames and passwords.
stackA last-in-first-out (LIFO) abstract data type.
stack frameThe locations in the stack area used to store the values referring to one invocation of a routine.
stakeholdersIndividuals or organisations affected by technology, i.e. companies / company owners, employees, customers, students, teachers, suppliers, local communities.
stand-alone computerA computer not networked, requiring its own printer and other peripherals plus its own installation of application software.
star topologyDevices are connected with wired or wireless connections to a central switch / hub.
start / stop symbol (flowchart)A flowchart symbol used at the start and end of flowchart representation of an algorithm.
state transition diagramA 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.
statementA statement is an instruction that tells the computer to do something, perform an operation.
static data structureThe memory required to store the data structure is declared before run time.
store / storageA computer system can save data for use later on
stringA sequence of characters delimited with quotation marks.
structurePresents the data in a real world form
structured englishA way of writing out algorithms using english words and phrases but no symbols or signs.
structured programmingA style of programming which involves breaking down a problem into smaller parts, solving each one and then building the collection back into a suitable solution.
structured query language (sql)A special language used to query, insert, delete and update data in a database.
sub-problemA small part of a larger problem.
subprocess symbol (flowchart)A symbol on a flowchart which represents a more complex process. Often used to split up an algorithm into separate parts using decomposition.
subroutineA small part of a program referred to by a name. Subroutines can either be functions or procedures.
substringPart of a string either referred to by the starting index position and the length or by the starting and ending index value.
subtractionMathematical subtraction of one operand from another.
switchDevice that connects multiple network devices and multiple segments
syntaxThe 'grammar' of a computer programming language.
syntax errorAn error in the grammar rules of a software language - caused when the code is typed incorrectly.
system softwareA platform that runs programs and manages the operation of a computer system.
tableA set of data elements organised in fields and records
tcp/ip stackA layered software stack which provides error free communication (TCP) using packets via the Internet Protocol (IP).
terabyte (tb)1,000,000,000,000 (trillion) bytes. 1000 gigabytes.
terminal testingTesting the whole program when it is completed.
test (software)A specific set of input values used to check whether an algorithm works correctly.
testing (software)Using specific values for inputs to ensure that a program functions correctly. Used in conjunction with selection and iteration statements.
thin-client networkA 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 (network)The physical layout of a computer network
trace tableA way of manually following an algorithm by writing down the values of variables during the algorithm.
tractableA problem that has a reasonable (polynomial) time solution as the size of the input increases.
transition functionMaps (input symbol, current state) to (output symbol, next state, direction of movement).
transition tableTabulates the mappings (input symbol, current state) to (output symbol, next state, direction of movement) for all inputs.
translation, languageThe conversion of high level language into a low level language
translatorName for any utility which converts one programming language into another
transmission control protocol (tcp)A connection oriented communication protocol which operates in the transport layer. Used for data streaming.
transport layer (tcp/ip)The layer where communication rules are established and data packets are managed.
traveller’s problemThe solution finds a route that visits each city exactly once before returning to the starting point.
treeA connected undirected graph with no cycles.
trojanA program that hides in or masquerades as desirable software, such as utility or a game, but attacks computers it infects.
trueNot False / Correct. One of the two Boolean values.
truth tableA table which is used to represent the operation of a logical electronic system or a logical expression using binary 1 and 0 to represent True and False.
tupleA 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).
two dimensionalHaving two dimensions. Often used for tables.
typeThe 'kind' of data being handled.
type castingTemporarily converting a value in one data type to a value in another one during an expression. The original value maintains its original data type.
type checkMaking sure that data entered into a computer system is of the correct data type.
type conversionPermanently converting a value from one data type into another.
uncomressed.WAV and .AIFF are file extensions for this category of audio file
undecidableDescribes a decision-type algorithmic problem that is non-computable.
underflowThe result of a calculation is too small to be represented using the available number of bits.
unicodeInternational character encoding system. Represents a wide range of character sets using 8, 16 or 32 bits. Most common format is UTF-8 and UTF-16.
unicode code chartsCharacter sets are available from the Unicode website
universal tm, utmA universal Turing machine can simulate any other Turing machine. A UTM, U, is an interpreter that reads the description 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 is written at the beginning of the tape, followed by D.
unordered listA list of values not in order.
usabilityThe ease with which a user interface can be used by its intended audience to achieve defined goals.
userSomeone who uses computer programs
user accountA service provided by an operating system to manage the individuals settings, documents and permissions.
user datagram protocol (udp)A connectionless communication protocol which operates in the transport layer. Used for media (sound and video) streaming.
user defined functionA section of code which is invoked using a name. UDFs can take parameters and return values.
user interfaceBlanket term to cover all methods of interaction between a computer system and its environment.
usernameUniquely identifies a user of a computer system
utility softwareSoftware which provides a special service to a computer or a computer user to make the computer run more efficiently, i.e. compression software, anti-virus software.
validData that is within the required range, as expected by the program
validationMake sure that the data input into a computer system is in the correct format or data type.
variableA variable is a temporary value held in RAM and assigned a name / identifier. The value of the variable can change during program execution.
vector (data structure)Alternative name for 'array'.
vector (graphics)An element of an image which is represented using a mathematical formulae.
verificationEnsuring the data being entered into a computer system matches the original source of the data.
virtual machineThe apparent machine that the operating system presents to the user, achieved by hiding the complexities of the hardware behind layers of operating system software.
virtual memoryPart of the hard disk which is used to replicate RAM. When the RAM gets full, the operating system'pages' sections of RAM into Virtual memory to allow more applications to be loaded into physical RAM
virtual networkA software based logical network which runs on top of a physical network. Allows the 'network' to be expanded and managed more easily than making changes to a physical network.
virus (computer)A small program attached to another program or data file. It replicates itself by attaching itself to other programs.
volatile (storage)Storage which loses its contents when the power is switched off.
volumetricsMeasurement or assessment of the volume of data that a system will be required to process and store.
von neumann architectureTerm used to describe a computer which stores programs and instructions together in memory, executing programs using the Fetch Decode Execute cycle.
voxelA '3D' pixel (volumetric pixel) used to represent elements of 3D characters in games like Minecraft.
weak / default passwordsUsing passwords which are easy to guess or which are the system defaults is a security risk.
web 2.0Software that becomes a service that is accessed over the Internet.
web server extensionA 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 servicesSelf-contained, modular applications that can be described, published, located and invoked over a network, generally the web.
while ... doAn iteration structure which executes a loop body whilst a condition at the start of the loop is true.
white-box penetration testingA type of penetration testing used to simulate a 'malicious insider' with knowledge and possibly basic credentials for the target system.
wide area network (wan)A network spread over a wide geographical area. Often owned and managed by many organisations. The most common WAN is the Internet.
wifiTrademarked IEEE 802.11 technologies that support wireless networking of home and business networks. Requires a wireless access point. Data is transmitted between devices on specific frequencies (channels).
wildcard characterA character used to represent other characters or groups of characters.
wimpAcronym standing for Windows, Icons, Menus, Pointer referring to the features provided by a graphical user interface.
wired (network)A network where the computer systems are connected by physical wires.
wireless (network)A network where the computer systems are connected by wireless (radio) waves
wireless access point (wap)Hardware used to connect wireless enabled device to a local area network.
wordA group of (usually) two or more bytes. Named by the number of bits it contains, e.g. 16 bit word, 32 bit word.
word processingThe production of typewritten documents using computerised systems.
wormA small program that exploits a network security weakness (security hole) to replicate itself through computer networks.
worst caseWhen running an algorithm when it needs to perform the maximum number of operations possible.
write (file handling)To record data in a file.
xnor gateA logical electronic device which will output False if either, but not both, of the inputs are True. Inverts the logic of an XOR gate.
xor gateA logical electronic device which will output True if either, but not both, of the inputs are True. Short for eXclusive OR gate.
xpathA query language for selecting nodes from an XML document.
Last modified: September 3rd, 2021