Computer Science Glossary
Looking for a quick answer? A definition or a very quick explanation of something? This is the right place to look, just make sure that you do know the background and extra information behind these ideas, concepts and terms.
Note: If text is GREEN then you can click it to take you to further information about that word or topic.
Note: If text is GREEN then you can click it to take you to further information about that word or topic.
802.11b, g, n, ac - A set of international standards for the transmission of data using radio waves. Basically, the letter after 802.11 dictates how fast your wireless connection will be, with ac being the fastest and b being the slowest.
Abstraction - The process of removing (obscuring) unnecessary details or elements from a problem. When solving a programming problem or making an algorithm, abstraction ensures you focus only on the problem.
Accumulator - A register in Von Neumann Architecture CPU's. Data to be executed or the results of execution are often stored in the Accumulator
Address Bus - A connection between the CPU and RAM. Used by the CPU to send the address to the memory controller of the instruction or data that it wants. The memory controller will look in the address sent down the address bus and return the data held at that address down the data bus.
Algorithm - A set of steps which will solve a problem. An algorithm can be seen as "the solution to a problem" and should be written as short, clear, logical steps. Algorithms are the basis of all program code and applications that you use.
ALU - Arithmetic and Logic Unit - One of the most important components of a CPU, this is where any logical or mathematical instructions are carried out.
Array - An indexed (each element is numbered) collection of data stored under the same name in a computer program. Think of an array as a table with numbered rows.
Backup - An exact copy of data which is stored externally from the original. Can be full or incremental. Remember, simply making a copy of a file does not make it a backup, it must be stored away from the system it was originally on.
Bandwidth - A measure of the amount of data that can travel through a cable/wireless connection in a given time frame. Usually measured in Mega Bits per second (Mbps)
Binary - A number system. Each digit may only be a 1 or a 0 (also known as a "bit" - see below).
Bit - The smallest quantity of storage in a computer system. A bit is either a 0 or a 1.
Blu-Ray - A type of optical storage used to hold software and video content. Typical capacity is 25 to 50Gb.
Boolean - A data type. Specifically one which may only be in one of two states - e.g. True or False.
Brute Force - A method of gaining usernames, passwords and other credentials by systematically trying all possible combinations of a username/password until successful.
Bus - A wire or collection of wires used to connect different components together. Used to send data between devices, for example between the CPU and RAM.
Byte - A collection of 8 bits. Can be used to represent any number up to 255 or 256 combinations of 0's and 1's.
Cache - A small amount of memory found inside the CPU. It runs at or near the speed of the CPU and is used to hold frequently used/accessed instructions and data. Cache speeds up the CPU as it does not have to wait for data to be read from RAM.
Cat 5 (and 6) - A type of cable used to connect devices to a network. Sometimes called "ethernet" cable. Uses twisted pairs of copper cables to transmit data.
Capacity - A term used to describe how much data a device can store. Usually measured in Gigabytes or Terabytes.
Casting - The process of converting a variable of one data type into any other data type.
CD - Compact Disc. A type of optical storage, usually used to hold music or software. Has a typical capacity of 700Mb.
Channel - A specific sub-section of a wireless frequency that is used to transmit data. The available "bandwidth" is split into smaller channels so that wireless devices can switch between them to avoid interference from other local networks.
Character - A data type. Specifically one designed to hold any one single letter, number or symbol.
CIR - Current Instruction Register. Holds the instruction that has just been fetched from RAM and is about to be executed. The instruction will be split in two - the operator (the actual instruction itself such as ADD) and the operand (the data or address the instruction will act on).
CLI - Command Line Interface. A method of interacting with a computer solely through the use of text in the form of short command words. Often found in server systems or embedded devices. Can perform tasks not possible in a graphical environment, such as scripting repetitive tasks.
Client - Server - A type of network where devices are connected to, and controlled by, one or more servers. Often seen as the "traditional" style of network.
Clock Speed - A measurement of the number of cycles per second a CPU can carry out. Measured in GHZ.
Cloud Storage - Data that is stored on servers connected to the internet. Usually a rented/subscription service.
Cloud, The - A method of describing the Internet. As the Internet is so large and dynamic, it is almost impossible to describe, draw or picture what it looks like. Therefore the metaphor of a "cloud" is used to describe the Internet, including in diagrams of networks.
Coaxial - A type of cable used in networking. Usually found on "cable" internet services and TV services.
Compression - the act of reducing the size of a file. Do not confuse this with making something physically smaller - for example if you compress a photograph it doesn't make the picture appear smaller on the screen, it simply means the amount of 0's and 1's which represent that picture are reduced!
Compression (Lossless) - Any algorithm which reduces the size of a file whilst retaining the ability to reproduce the original exactly. For example a text file would not lose any of the information contained in it.
Compression (Lossy) - Any algorithm which reduces the size of a file by removing unnecessary data. Usually found in video and image compression where colour information is lost. This is acceptable as it is still possible to understand the image after compression (you may get slightly less sharp edges for example). The trade off is you get much smaller files - which is why it's used in the streaming of video and audio.
Computer - A machine which takes input in the form of binary, performs calculations, and processes instructions in the form of software in order to provide useful output.
Computer Misuse Act - Legislation (a law) covering the use of computers. There are broadly 3 principles to the act which state that you cannot use a computer to intentionally try and gain unauthorised access to a system, damage data intentionally or use a system for malicious purposes.
Constant - An allocation of memory, to store a piece of data, with a name that can never be changed. An example could be Pi = 3.141. Constants work exactly as variables, but they cannot be updated or changed.
Control Bus - A connection between the CPU (specifically the Control Unit) and the rest of the CPU and wider computer system. Used to send control signals to various parts of the CPU and computer to indicate what they should be doing.
Control Unit - Part of the CPU. Responsible for coordinating what the CPU is doing at each part of the FDE cycle. Sends read/write signals to RAM, timing signals to the components of the CPU and control signals to I/O devices.
Core - A "single processing unit" inside a CPU. Technically, a core is a CPU! Most modern CPU's have several cores. The more cores, the more tasks a CPU can carry out in parallel.
Copyright Designs and Patents Act - Legislation (a law) which provides rights and protections to creators of original content. In other words it is the law which should stop people copying software, music, images, books etc without permission and should mean that authors of content can be paid for their work.
CPU - Central Processing Unit - an internal component with a fixed instruction set. Carries out program instructions in a constant cycle called the Fetch-Decode-Execute cycle. CPU speeds are usually measured in Gigahertz (Ghz)
Creative Commons License - A set of rules which describe how a piece of software, code or other content may be freely distributed, changed or used within reason. It forms the backbone of, and enables, the principle of free software. Often used to make code "open source" which means anyone can look, change, use or edit the code as long as they themselves then publish their changes for everyone else to see.
Data Bus - A connection between the RAM and CPU which enables data and instructions to be transferred between the two components.
Data Protection Act - Legislation (a law) which governs how data must be handled in the UK. There are eight principles (look them up!) which explain how you are allowed to collect data, what you are allowed to do with it, how it should be stored and what steps you should take to secure it.
Data Type - Defines what a piece of data is or can be. For example data of the type "Integer" can only be a whole number.
Decimal - A data type. Specifically one designed to hold numbers containing a decimal point. Use the word "Real" to describe this data type in your exam!
Decimal - A number system, also known as Denary. All numbers are made using the digits 0-9
Decomposition - The process of breaking a problem down into smaller and smaller pieces until eventually you get to a point where each small problem is easy to solve.
Defragmentation - A file system utility which maintains and improves the performance of hard disk drives. This is not necessary on SSD drives as data is physically stored in a different way. Defrag will organise files and data so they are contiguous (not split up) and move as much data as possible to the beginning of the disk, creating large amounts of continuous, empty free space.
Denary - A number system, also known as Decimal. All numbers are made using the digits 0-9
Denial of Service (DOS) - Also referred to as DDOS - Distributed Denial of Service. This is a method of taking a website offline by flooding the web server with requests
Device - A piece of hardware
DNS - Domain Name Server (or Domain Name Services) - A server which has the sole job of translating URL's (website addresses) into IP addresses. DNS servers are in a hierarchical structure and they are distributed across the Internet to spread the load on them.
Driver - A piece of software which is used to control a specific piece of hardware. It will convert generic system calls from the operating system into the specifics needed for an individual device.
DVD - A type of optical storage usually used to hold video or software data. Typical capacity of 4.7Gb. Stands for Digital Versatile (or sometimes video) Disc.
Ethernet - A set of standards which dictate how devices are connected together to form a network and how data will travel between them. It is the standard on which nearly all networks today are built and operate. It is part of the TCP/IP stack.
Embedded System - A computer inside a device or appliance. Usually a robust, low power computer with one dedicated task.
Encryption - The scrambling of data, using an algorithm in order to make it unreadable/useless to anyone who intercepts or receives it unintentionally. Data is encrypted using a key (a unique string of numbers).
Exabyte - A measurement of storage capacity - 1000 Petabytes.
Execute - To carry out an instruction, to do as an instruction tells the CPU. Can also refer to the running of a whole program.
Fetch - Decode - Execute Cycle (FDE) - A cycle carried out by the CPU repeatedly until power is turned off. This involves the fetching of instructions or data from memory, decoding the instruction to work out what it means, followed by the executing (carrying out) of that instruction. 1 Cycle = 1Hz (hertz) and is the quantity by which CPU speed is measured.
Fibre Optic - A type of cable made from either plastic or glass which is used to transmit data in the form of light. The fastest type of cable, with the highest bandwidth.
Firewall - Can be either hardware or software. A firewall is designed to monitor the data packets coming in and going out of a network connection. It will allow or block packets based on a set of rules applied to it. Can also be used as part of internet filtering for a network.
Flash Memory - A special kind of memory chip which is non-volatile. Has lots of advantages over other types of storage such as its tiny size, low power consumption and fast read/write speeds.
Freedom of Information Act - FOI. Legislation (a law) which gives members of the public the right to request any data held by publicly owned (government) organisations. It cannot be used to request information from private companies!
Frequency - The wavelength of radio waves used to transmit data using wireless. Measured in GHz, most common "bands" are 2.4GHz and 5GHz
FTP - File Transfer Protocol. A set of rules defining how files can be transferred from client to server or server to client over the internet.
Function - A named block of code which can be called in a program. It will always return (give you back) a value when you call it.
Gigabyte - A measurement of storage, equivalent to 1024 Megabytes.
Gigahertz (Ghz) - A measure of CPU speed. 1Ghz = 1 Billion CPU cycles per second. The more Ghz, the more instructions a CPU can carry out per second.
GUI - Graphical User Interface. A method of controlling the computer, usually consists of the WIMP components - Windows, Icons, Menus and a Pointer. The most common computer interface.
Hard Disk Drive (HDD) - A method of mass storage in a computer. Hard drives are magnetic storage and use spinning discs called platters to hold data.
Hardware - The physical components of a computer system. To be hardware, you must be able to physically touch/hold it and it must form part of the computer system, for example RAM.
Hertz (Hz) - A measure of CPU speed. 1hz = 1 CPU cycle per second. The more hz, the more instructions a CPU can carry out per second.
Hosting - Usually the storage of a website and its associated files on a server. A "host" will provide all the storage and server facilities necessary to run a website.
HTTP - Hyper Text Transfer Protocol. A protocol describing how web pages and associated data should be transmitted through the internet.
Hub - A device which connects computers together on a network by simply broadcasting (copying) packets that are sent to every single device connected to the hub. These are no longer used as central points on networks. Note - anything advertised as a "home hub" or "super hub" from an internet provider is NOT actually a hub.
IMAP - Internet Message Access Protocol. A set of standards designed to manage the sending and receiving of emails and also the management of both online and offline mail boxes.
Input - Data going in to a computer system for the purpose of processing.
Input Device - A piece of hardware used to send data in to a computer system for processing.
Integer - A data type. Specifically one which may only hold whole numbers.
Internet - A world wide network of networks. Not to be confused with the World Wide Web (WWW)
IP - Internet Protocol. Usually used alongside TCP. A stack which consists of rules that describe how data should be split into packets and how they will travel from one place to another.
IP Address - A 4 byte address, usually written in decimal (e.g. 192.168.1.1) given to a device on a network. This is used to ensure that devices can be identified on a network and traffic can be directed to the right place.
Jam sandwich? Jammy dodger? Jumble sale?
Kilobyte - A measurement of storage, equivalent to 1024 Bytes.
LAN - Local Area Network. A network confined to a small geographic area such as a house, office or school. Usually all equipment is dedicated to or owned by the organisation or person the network belongs to.
Magnetic Storage - Any method of storage based on magnetism or magnetic media, such as tape, floppy disks and hard disk drives.
Malware - Software designed to cause harm, damage data or take data from a machine. Usually in the form of a virus or trojan.
MAR - Memory Address Register. Holds the address in memory which is about to be read or have data written to.
MDR - Memory Data Register. Holds the data which has been read from memory or is about to be written to memory.
Megabyte - A measurement of storage, equivalent to 1024 Kilobytes.
Megahertz (Mhz) - A measure of CPU speed. 1Mhz = 1 Million CPU cycles per second. The more Mhz, the more instructions a CPU can carry out per second.
Memory - An area of temporary storage (volatile) for open, running programs and data.
Memory Card - A type of small, portable, removable storage. Comes in two main types - SD (and micro SD) and CF. Uses flash memory technology.
Mesh Topology - A topology where devices are directly connected to many other devices in the network. There is no central, controlling device.
Multitasking - Giving the appearance of two or more programs running simultaneously on a system.
Network - Two or more devices connected together for the purpose of sharing (data, resources) and communication.
NIC - Network Interface Card. This can be either wired or wireless and is simply the piece of hardware which allows a device to connect to a network.
Nybble - A collection of 4 bits. Can be used to represent numbers up to 15 or 16 combinations of 0's and 1's.
Operand - Part of a CPU instruction. The operand is either a piece of data (a number) or an address in memory and is the piece of data an instruction will work on or with.
Operating System - Software which controls all hardware in a system, provides a user interface to allow the system to be used and provides a platform upon which software can be run.
Operator (or Op-Code) - A CPU instruction. The operator or Op-Code is simply an instruction which the CPU can carry out such as ADD, JMP, CMP etc. An operator usually needs an Operand to work on or with. For example ADD 5 - ADD is the instruction (operator), 5 is the Operand (data to work with).
Optical Storage - A type of storage that uses a laser which is reflected off the surface of a disc to read data. Examples include CD, DVD and Blu-Ray.
Output - Data or information coming out of a computer system - the results of processing.
Output Device - A piece of hardware used to send out or display the results of processing
Packet - Data that has been broken into equal sized chunks to send across a network. A packet will contain some data, a source IP address, a destination IP address, some error correction or checksum data and a time to live counter (max number of hops before being discarded).
Packet Switching - The routing of packets to their destination on a network. Packet switching ensures paths can be shared, networks are used efficiently and related data (or packets) may take many different routes to arrive at a destination.
Peer to Peer - P2P - A type of network where all computers work collaboratively to share responsibility for managing the network, sending and receiving data and the sharing of resources such as processing power and storage. Often used in file sharing networks, for example Bit Torrent.
Penetration Testing - Where a person or organisation is tasked with finding weaknesses in your IT infrastructure. This can be networks, individual machines, websites and even the people in an organisation. A report is usually produced for the company which explains potential weaknesses.
Peripheral - Any external device connected to a computer system.
Petabyte - A measurement of storage capacity - 1000 terabytes.
Phishing - Tricking users into giving away their user names, passwords or other personal data by impersonating a real organisation. Usually an email is sent to the victim, who then clicks on a link and is taken to a copy of a real website. When the user enters their details these are then stored and can be used maliciously.
Platter - A metal disc inside a hard drive which is used to store data.
POP - Post Office Protocol. A protocol designed to manage the receiving of emails (notice it has nothing to do with the sending of emails!)
Processing - The carrying out of instructions, calculations or the manipulation of data in order to produce useful output.
Program - Another word for software or application. A list of instructions to be carried out by the CPU.
Program Counter - A register in a CPU which holds the address of the NEXT instruction to be fetched from memory.
Protocol - A Protocol is a set of rules which establish how communication between two devices should happen. An example would be TCP/IP which controls the sending of packets over a network.
Pseudo Code - A method of writing out algorithms that almost looks like code that would work on a real computer. It is not a specific or real programming language but is very useful when solving problems. OCR love it and can't decide what it should look like either.
Are there any Q words in CS? Q-Bit, perhaps?
RAM - Random Access Memory. An area of temporary storage in a computer system, used to store currently open and running programs and data. Used to speed up system performance compared to fetching program data directly from storage. If RAM is filled then this can lead to much slower performance as the system has to resort to using virtual memory.
Real - A data type. Specifically one designed to hold numbers containing a decimal point. Can also be called "Decimal"
Register - a small piece of memory inside a CPU used to hold a single instruction or piece of data. Can also hold the result of processing an instruction in the CPU.
ROM - Read Only Memory. ROM is a type of memory which is non-volatile (the contents is not lost when power is turned off.) ROM is usually used to store the code used to start a computer when it is powered on (BIOS or UEFI).
Router - A networking device that connects networks to other networks and routes packets between them. Routers will communicate with each other so they are able to forward packets not only to a destination network, but also closer to their destination - meaning a packet may travel through several routers before it arrives at its destination. Routers are responsible for making the internet work and for connecting LANs to WANs.
Secondary Storage - Usually refers to any type of non-volatile storage in a computer system. Examples include Solid State Drives (SSD) and Hard Disk Drives (HDD). Secondary storage is necessary in any system where you need to store large amounts of data, permanently.
SMTP - Simple Mail Transfer Protocol. A set of standards/rules defining how email messages should be routed to their destination mailbox through the internet.
Social Engineering - The art of tricking or convincing users to give sensitive information to an attacker. This can be as simple as posing as tech support and simply asking people for their user names and passwords!
Software - The programs and features that run on a computer system. Software consists of a list of instructions that the CPU processes in order to "run" the program. Without software, a computer system would not do anything.
Solid State Storage - Any kind of storage which uses flash memory chips to hold data. This type of storage is non-volatile, consumes little power, is small and very quick to read and write data to.
SQL - Structured Query Language. This is the language used to manipulate databases. It can be used to add, remove, update and search databases.
SQL Injection - Most websites are connected to a database. When you fill in a form the data is sent to the database using an SQL query. In some cases it is possible to add SQL code into a web form and it will be executed on the database when you submit the form. By doing so you could potentially damage the database, delete information or even create your own records (like a new admin account!)
Stakeholder - Someone who has an interest in something or who is directly affected by something. For example if you live next to a factory pumping pollution into the water supply, you are a stakeholder in that business - you have an interest in what it's doing!
Star Topology - The most common kind of network topology. All devices are connected (usually by a cable) to a central device (usually a switch).
Storage - A non-volatile device which holds programs and data. Can be internal or external. Examples are Hard Drives, SSD's, Memory Cards, USB Sticks and Optical Storage.
String - A data type. Specifically one designed to hold a sequence of characters. Strings may hold any number of letters, numbers or symbols (or any mixture of these).
Switch - A central point on a LAN or in a star network topology. All devices on a LAN are usually connected to a switch, which then sends packets only to their intended destination. They can also be connected to routers to provide internet connectivity for a network.
Systems Software - Software designed to enable hardware and software to work together. Usually provides an interface and is usually in the form of an operating system.
TCP/IP - A suite or "stack" of protocols which describe how data is transmitted and received through the Internet.
Terabyte - A measurement of storage, equivalent to 1000/1024 Gigabytes.
Topology - The way in which devices are laid out or organised in a network. The topology usually explains how devices are physically connected together.
Traffic - A term used to discuss the volume of data being sent through a network. Very high levels of traffic (lots of packets) can result in poorer network performance.
Transmission Media - The method by which data is carried from one place to another on a network. This can be different types of wiring, such as ethernet cables, or it can be wireless methods such as WiFi.
Utility Software - Software designed to perform a single, specific task, usually in the background. Examples include compression, anti-virus, disk repair, automatic updates and firewalls.
USB - Universal Serial Bus. A standard for connecting a multitude of devices and peripherals to computers. Not to be confused with USB Memory Sticks.
USB Memory Stick - A convenient type of removable, portable, mass storage which connects to devices using the USB interface. Uses flash memory technology to store data.
User Interface - The point at which a user can interact with a computer system. The interface provides a way for you to control a computer system and for it to show you what is happening. There are lots of interfaces, common ones include GUI, CLI, Menu Driven and Voice Driven.
URL - Uniform Resource Locator - Simply put, a website address.
Variable - A piece of storage in a computer program. Variables must have a name and be given a data type. They can only hold one piece of information at any time.
Virtual Memory - An area of secondary storage (usually a file stored in secondary storage) which can be used as RAM when the physical memory in a system is full. Allows a computer to open more programs or deal with more data than the physical RAM would normally allow.
Virtual Network or VLAN - When a physical network is divided or organised into several smaller "virtual" networks to help organise, secure and manage traffic on the network.
Von Neumann (architecture) - The Von Neumann architecture describes the components necessary to create a programmable computer system. Von Neumann machines require some form of Input and Output, A CPU which contains a Program Counter (PC), control unit (CU), Arithmetic Logic Unit (ALU) and an Accumulator. The final component of a Von Neumann machine is some kind of memory store to hold the program the computer is currently running. Each part is connected via buses.
WAN - Wide Area Network. A network where computers are geographically remote from each other, or a network that covers a significant geographic area. WANs must make use of rented/leased telecommunications equipment such as internet connections.
WAP - Wireless Access Point. A piece of hardware on a network that allows devices to transmit and receive data wirelessly.
WiFi - Stands for "Wireless Fidelity" but more importantly is a set of standards which dictate how computers are connected together wirelessly and how data should travel between them. See also "Frequency" and "Channels"
WWW - World Wide Web - A collection of information in the form of web pages that are linked together using hyperlinks. Not to be confused with the Internet!
Yottabyte - A measurement of storage capacity - 1000 Zettabytes.
Zettabyte - A measurement of storage capacity - 1000 exabytes.