Glossary of Computing Terms

This glossary is a work in progress. New terms are added when a need for a definition is identified as part of the process of writing a new book.

The objective of this glossary is to provide definitions which are easily accessible and could be used by a student of computing or computer science.


A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   Go to bottom


Alternate Text

Some web pages include text as an alternative to images.This text appears either when the image is rolled over by the mouse pointer or when the image fails to display for some reason. Alternate text is generated by the ALT parameter on the image tag.


see program


see program


A type of variable used to store multiple pieces of data. Array is a general term. Specific programming languages may be able to define various types of array, each with a different set of properties and methods for handling them. Alternative terms for array include, list, tuple, set and dictionary. The term array is used generically in this definition. Each element in an array is given an index number. This allows individual elements to be accessed directly or the entire array to be processed sequentially. Some programming languages also have methods for processing arrays in reverse as well as identifying specific elements and sorting the contents. Arrays can be two dimensional; a simple list. They can also be multi-dimensional; matrices.

Go to Top   Go to Bottom



A type of program structure which allows one of two or more sets of code to be executed depending whether a condition specified by the programmer is true or false. Each of these sets of code can be thought of as a path through the code. Branches are often referred to as decision or choice structures.


A suite of software programs used to locate and display web pages. Examples include Internet Explorer (IE), FireFox, Safari and Chrome.

Go to Top   Go to Bottom


Cascading Style Sheets (CSS)

A formatting lanuage used to enhance the presentation of web pages. CSS complements HTML. Although it can be used to present all the features of a static page, it needs a basic set of code, usually HTML as a platform.


A type of instruction which allows one of a range of sets of code to be executed depending on the value of a variable. This type of instruction is not available in all programming languages. In those languages without a case instruction, the programmer can achieve the same effect using nested if (branch) structures.


Instructions for a computer written in a programming language.


see branch


A process which converts a program written in a human readable programming language into machine code readable by a computer.


This is usually the value of a variable which determines either which section of branch code is executed or whether a loop continues to execute.


This term is often used interchangeably with system. In a general sense configuration and system do have similar meanings, but a configuration specifically refers to the correct assembly of a set of components to form a system. The term configuration can be used with hardware; hardware configuration, software; software configuration and networks; network configuration. In all cases, it refers to the arrangement of the components that make up the system rather than the processes carried out by those systems. A configuration will often be represented by a diagram showing the arrangement of the components.

Go to Top   Go to Bottom


Data Flow Diagram (DFD)

A diagramming method used in systems design. The method focusses on the way day flows between processes. It was originally developed by Gane and Sarson, but has been modified and extended by other authors. In some form or another, the development of logical and physical models using DFDs is a very common method in systems analysis, modelling and design.


See branch.


A suite of programs providing a development environment for web pages and applications. Dreamweaver has code generation and editing facilities for a range of web application and formatting languages. Dreamweaver is an Adobe product.

Dry Run

A type of program testing which does not require a computer. The program code is tested on paper with the state of each variable recorded as the programmer steps through the program instruction by instruction. This is a very laborious form of testing, but one which is very informative in that is allows the programmer to see the consequence of a piece of logic and its effects on the data being processed. As it does not require a computer it can be used at the design stage of development, during testing or on a small portion of a program causing a problem. It is very useful in unravelling logic problems.

Go to Top   Go to Bottom


Entity Relationship Diagram (ERD), also called an Entity Relationship Model (ERM)

A modelling method used for describing the relationships between items of data in a system. These relationships are usually described in terms of one to one and one to many relationships. The development of an ERM often follows logical modelling using DFDs. Logical data sets identified in the DFDs for a system are used as input to the process which develops the ERM. The ERM is used in turn as the basis for a physical database design.

Event Driven Programming

See paradigm.


This term is often used to refer to a program when it is running. It refers to the program or more often the instruction within a program that is being handled by a computer. Other programs and instructions may be loaded into memory but they are inactive. A CPU can handle only one instruction at any given time.

Go to Top   Go to Bottom



The term flag refers to the use of a variable to show the status of a program. Instead of using the variable to hold values used in calculation or text strings, the variable is used to hold one of a range of values which can be checked to determine what needs to be done. For example, FLAG = 0 could mean not ready and FLAG = 1 could mean ready.


Any diagram composed using a recognised set of symbols and rules to create a logical set of actions. Flowcharts can be used to describe both manual and automated (computer) processes.

Full Stack

As in Full Stack Developer. A term commonly used in professional software development to indicate a need for a person with a complete array of skills to work on both font end and back end systems. At the time of writing this could mean a tool set comprised of HTML/CSS, JavaScript, MySQL and PHP. The particular tool set would vary from one development environment to another.


A function is a set of labelled instructions which carry out a task which may be required more than once and in more than one location in a program or in many programs. The function is executed when the function label (name) is used in a sequence of instructions. The function is said to be called when this happens. Control is transferred to the function when it is called. When the instructions within the function have executed control is returned to the next statement after the one which called the function in the program. Functions can contain any type of program structure including calls to other functions. If the function issues a call to itself this is said to be a recursive call. If a variable is declared within a function, use of that variable is usually limited to instructions within the function. A function can also access variables which have been declared within the program that has called it. These variables are known as global variables.

Go to Top   Go to Bottom


There are no terms in this glossary beginning with the letter 'G'.

Go to Top   Go to Bottom


Home Page

The initial page on a web site. Usually called the index page. Web conventions expect this initial page to be named index so that it can be located by search engines. A well designed web site will include a link back to this index page from every other page in the web site as an aid to navigation.

Hot Spot

An area on an image that has been defined as a hyperlink. This is done by creating an image map.


HyperText Markup Lunaguage: a formatting language for creating web pages. Complete web sites can be created using HTML although such a web site will be static without the addition of functionality provided by languages such as JavaScript, or back end processing provided by applications written in langauges such as PHP.


HyperText Transfer Protocol: A set of standards used to translate data and web pages into a common format for transmission across the web.


A web page or web site containing a set of links to other pages. Such a set of links would need to be authoritative to be considered a hub.


Usually refered to as a link. The means by which the active page is changed to another. Effected by an anchor tag. Hyperlinks can also be used to jump to other locations within a page.

Go to Top   Go to Bottom


If statement

See branch.

Image Map

A set of coordinates relating to a specific image which defines an area on that image, created in order to hyperlink that area to another locatiob. Also known as a hot spot and an imap.


To add to something. In the context of a program this term is often used to describe the addition of a number to a variable ( a counter) as part of a repeated process.

Index Page

The initial page on a web site. Sometime called the home page. Web conventions expect this initial page to be named index so that it can be located by search engines. A well designed web site will include a link back to this index page from every other page in the web site as an aid to navigation.


Setting a line of code in from the line above it. This is used in coding to indicate that the indented line is part of and dependent on the line of code above it. Indentation is from the left to the right.


Initialisation consists of setting a variable to a known value before it is to be used in a set of instructions. Initialisation avoids making assumptions about the value of a variable in when it is about to be processed. This is recognised as good practice in programming.


Input is external data which is taken into a program. This could be typed into a keyboard, scanned or recorded by a microphone, camera or video camera.


The smallest functional statement in a program. The equivalent of a sentence in a human language.

Internal Comment

Explanatory information embedded within a program. This a form of documentation. Internal comments are usually identified by specific codes which mark the start and sometimes the end of a comment. The comment itself is ignored by the computer executing the program that contains it. Comments are usually used to explain a piece of code, mark the start of specific function within a program, or provide information about the program author or program version. The use of internal comments often indicates a professional piece of work.


An interpreted program is one where the human readable code is converted into machine readable code at the time of execution. This is in contrast with compiled code which is converted into machine readable form in advance.


To iterate it to repeat. One iteration is one repetition. A single execution of a loop is often referred to as an iteration; see loop.

Go to Top   Go to Bottom



An application development language providing facilities for developing client functionality (i.e. it can be used to develop functions which will run on a PC).

Go to Top   Go to Bottom


There are no terms in this glossary beginning with the letter 'K'.



See array.


The repetition of a set of instructions while a condition is true or until a condition is true. This is a very common process in computing and is typically used for carrying out the same actions for every item in a list or every record in a table. It can also be used for processing every character or word in a piece of text.

Go to Top   Go to Bottom


There are no terms in this glossary beginning with the letter 'M'.


Natural Language

Natural language refers to those languages spoken by human beings, such as English, Spanish, Mandarin, etc.


The practice of embedding one programming structure inside another. Embedded structures could in turn also contain embedded structures.

Go to Top   Go to Bottom


Object Oriented

See paradigm.

Operating System

Often abbreviated as OS. A suite of software with the specific function of managing a computer system. The OS manages both the hardware configuration and the software configuration. It schedules and prioritises the background functions which maintain the integrity of a system. It also prioritises the foreground (user) applications giving those programs access to resources and managing conflicts with other software also needing access to the same resources. Examples of operating systems include but are not limited to: Linux, MAC OS, Android, MVS/XA, Windows and DOS.


Data which is the product of a program. This is can be data written to permanent storage, printed or displayed on a monitor.

Go to Top   Go to Bottom



A formatted set of content accessible via a browser.


A programming paradigm is a style of writing programs. Paradigms are also sometimes referred to as models. There are three principal styles of programming; procedural which is for requirements where the structure data used by the program, the events which initiate the program and the timing of the program are all fixed and known, event driven where a range of events such as a mouse click are known, but when they will occur and in what order is not and object orientated where data structures are known but the timing and frequency of their use is not. Procedural programming is process focused, event driven is action focused and object orientated is data focused.


See branch.


Personal Home Page; a programming language providing functionality for web pages. PHP is a server side language providing a standard set of functions including file and database access, array manipulation, calculation and session management.

Procedural Programming

See paradigm.


A set of instructions for a computer with a specific purpose written in a programming language and converted into machine readable code for execution. Often referred to as and App or Application which are abbreviations for application program; a program with a specific application.

Programming Language

The languages used to create programs. These are usually readable by humans, but not readable by computers. To be read by computers they need to be converted into machine code by one of two processes; interpretation or compilation. There are many programming languages in existence. C, Visual Basic, Python, Scratch, Java, JavaScript, Fortran and COBOL are just a few examples. Programming languages are usually designed for a specific purpose and may have specialised instructions or variable types to satisfy that purpose. All programming languages will allow the basic types of structure; loop, branch and sequence.

Programming Language Syntax

The rules for the correct formation of an instruction in a specific programming language; its grammar. As in human language every programming language has rules which determine what is permissible and what is not. Humans are good at interpreting a faultily constructed utterance and arriving at a good approximation for the meaning of that utterance. However, computers cannot do this. For a computer instruction to execute, it needs to conform precisely to the syntax for its language.


Simplified natural language statements which conform to a specific convention to mimic the processing of a program. Pseudocode is used to design, demonstrate and test program logic.

Go to Top   Go to Bottom


There are no terms in this glossary beginning with the letter 'Q'.


Recursion (recursive)

The term recursion is used to describe software structures which are self-referencing. Such structures are inherently iterative and can look like a simple loop. Recursive structures should be used with great care. They can become increasingly inefficient when used with large data sets. They can also malfunction easily and loop continuously without producing any output if the conditions controlling the iterations are not thought through with care.

Regression Testing

Testing applied to a piece of software which has been changed and needs to be reintegrated into an existing system. This term is also applied testing a new piece of software which has to be integrated into an existing system. This form of testing ensures that existing functions are not adversely affected by the new or revised piece of software. See also Testing.

Reserved Word

A term associated with a programming language that cannot be used in any application created using that language. For example, if the term RUN is used in some internal process in a programming language, it cannot be used as the name of a variable or a function in a program written in that language. The use of a reserved word will usually result in a syntax error. If it does not and the reserved word remains in the program, this could lead to unpredictable processing and operational failure.


A rollover is an effect which swaps one image for another when the mouse pointer is rolled over the image. The initial image is usually restored when the mouse pointer is moved away. This effect can be created using JavaScript or in some instances with CSS.

Root User

A super user in a Linux environment. It is also occasionally written as rewt user. See Super User.

Go to Top   Go to Bottom



A set of simple instructions executed in an appropriate order for the logic of the program that contains them.


A collection of web pages on a common theme, linked together with hyperlinks.

Site Map

A schematic showing the relationship between pages in a web site.


The code components of a computer such as the Operating System (OS) and application programs. Software can be changed and modified.


A definition of requirements. In this context specification refers the specific details of a program to be constructed. In Information Technology, specification can also refer to the specific requirements for a system or a process. Processes can be manual, automated or a mixture of both manual and automated.


See instruction.


A type of data which can contain characters, numbers and special characters such as punctuation marks and spaces. This type of data is often also termed text. In many programming languages strings ae shown between either double quote marks (" ") or single quote marks (' '). Variables can be declared as string variables meaning they can contain any type of character. A password containing uppercase characters, lowercase characters, numbers and punctuation marks is a good example of a string.

Super User

A super user account is one which has special privileges within a system. This is usually the most privileged user on a system with read and write access for all files. The terms administrator, root user, baron and supervisor are synonymous with the term super user. Each of these terms is usually associated with a specific operating system. Root user for example is usually associated with Linux.


This term can refer to a telecomms component and a programming construct. When used in telecomms, switch refers to a device which reroutes incoming messages from multiple sources to predefined output destinations.

For more information about the program structure see case.


See programming language syntax.


A set of manual and automated (program) processes or hardware components which operate together to provide a specific set of functions.

System Testing

In information technology, system testing refers to those tests which ensure that a set of processes operate together without failure, to provide a specified set of functions. This is distinct from unit testing which validates each component of a system in isolation. In a traditional development lifecycle, system testing follows unit testing and precedes user testing. See also testing, unit testing and system testing.

Systems Development Life Cycle

This is also sometimes called the Software Development Life Cycle. A process for developing software divided into stages. There are many standardized processes for the SDLC such as PRINCE and Agile and many variations on the stages of development. But all versions of the process should contain the following core steps: analysis, design, development, test, implementation and review. The product of each stage should provide the material needed to start the next stage.

Go to Top   Go to Bottom



A formatting command inserted into a document. Tags indicate the type of formating to be applied to a document when it is displayed by a browser.

Test Harness

An operating environment which mimics a complete system and is used to test new or modified components for that system.


A formal process for ensuring that a piece of code is error free, delivers the specified functions and integrates with other pieces of associated software. See also Unit Testing, System Testing, User Testing, Regression Testing and Test Harness.


See array.

Go to Top   Go to Bottom


Unit Testing

Testing applied to a single program or script in isolation from any other programs with which it may be associated.


In an information technology context, the term user refers to an individual accessing applications on a computer using an account with a specific set of rights. In a commercial setting, user accounts will generally have limited rights within a system. This is in contrast with a super user or administrator account which will usually have a wide or complete set of rights on a given system. The term user is often associated with other terms such as testing to give user testing; testing from the point of view of a user. See also Super User and User Testing.

User Testing

User testing examines new or revised software for usability, accuracy and match with a specification. It is not concerned with the technical functions of a system. These should have been checked in unit and system testing. User testing examines a system from a business perspective. This type of testing is usually conducted by non-technical staff associated with the business functions supported by the new system. It is usually the final stage of testing before a new system is made operational.

Go to Top   Go to Bottom



A variable is a temporary area set aside in memory for storing data used by a program. Variables can be either simple or compound. A simple variable contains a single piece of data. Compound variables contain many pieces of data (see array). Variables are defined by the program that uses them. An area in memory is allocated for a variable when a variable declaration instruction is executed. Such variable declarations are often executed and memory allocated for their use, when a program is loaded into memory. Many programming languages allow for variables to be classified according to the type of data that they will be used for. For example, a variable that will be used for calculations will usually be declared as numeric or floating point. A variable is given a label; a name, when it is declared and referred to by that name when being used in the program.

Go to Top   Go to Bottom


Web Page

A formatted set of content accessible via a browser.

Web Site

A collection of web pages on a common theme, linked together with hyperlinks.

World Wide Web (WWW)

The sum of all the interlinked navigable web pages commonly called the web. These pages are hosted on individual computers and created using a variety of languages. The pages are linked together using a common set of standards known as HTTP.


The World Wide Web Consortium; the main international standards organization for the World Wide Web (abbreviated as WWW or W3).


There are no terms in this glossary beginning with the letter 'X'.


There are no terms in this glossary beginning with the letter 'Y'.


There are no terms in this glossary beginning with the letter 'Z'.


Go to Top