Literacy and Keywords

Keyword Expansion
Absolute Error The difference between the actual number and the nearest representable value.
Abstract data type (ADT) A data type whose properties are specified independently of any particular programming language.
Abstraction Representation that is arrived at by removing unnecessary details.
Aggregation Relationship between two object types in which one object type has a component which is of the other type.
Ajax Web technology that allows only the part of a web page that needs updating to be fetched from the web server.
Algorithm A sequence of unambiguous instructions for solving a problem. It can be represented as a Turing machine program.
Application programming interface (API) A layer of software that allows application programs to call on the services of the operating system.
Association If the relationship is not inheritance and it is not aggregation then it is an association.
Asymptotic behaviour of f It is the behaviour of the function f(n) for very large values of n.
Asynchronous serial data transmission Transmission system in which the sender and receiver have separate clocks which are not kept synchronised. Instead, the clocks are synchronised temporarily at the start of a transmission. The arrival of data cannot be predicted by the receiver; s a start
Attribute A property or characteristic of an entity (databases) or an object (OOP).
Automation Turning an abstraction into a form that can be processed by a computer.
Backus-Naur Form, (BNF) A syntax for describing syntax. It's used to write a formal representation of a context-free grammar.
Bandwidth For a transmission medium, the range of signal frequencies it may transmit.
Base case A value that has a solution which does not involve any reference to the general case solution.
Baseband system A system that uses a single data channel system in which the whole bandwidth of the transmission medium is dedicated to one data channel at a time. 
Basic operation The operation which contributes most to the total running time.
Baud rate The rate at which signals on a wire may change.
Behaviours The functions of the object or what the object does.
Bit rate The number of bits transmitted per second.
Broadband A multiple data channel system in which the bandwidth of the transmission medium carries several data streams at the same time.
Bubble sort A sorting algorithm where during a pass, neighbouring values are compared and swapped. Passes are made until no further swaps are needed.
Cipher text Message data after it has been encrypted.
Circular queue When the array element with the largest possible index has been used, the next element to join the queue reuses the vacated location at the beginning of the array.
Class definition A template that can be used to create objects of that class.
Client A computer that uses the services provided by a server.
Client-server system A system in which some computers (the clients), request services provided by other computers, the servers.
Closed path/circuit A sequence of edges that start and end at the same vertex and such that any two successive edges in the sequence share a vertex.
Communication Protocol A set of agreed signals, codes and rules to be used for data and information exchange between computers.
Complexity of a problem Taken to be the worst case complexity of the most efficient algorithm which solves the problem.
Composite key A combination of attributes that uniquely identifies a tuple / record.
Computational complexity A measure of how economical an algorithm is with time and space.
Conceptual model A representation of the data requirements of an organisation constructed in a way that is independent of any software that is used to construct the database.
Cryptanalysis A method of trying to find the plain text from the cipher text without the decryption key.
Cryptography The science of designing cipher systems.
Cycle A closed path in which all the edges are different and all the intermediate vertices are different.
Data Model A method of describing the data, it's structure, the way it is interrelated and the constraints that apply to it for a given system or organisation.
Data transmission Movement of data.
Database A structured collection of data.
Database management system A software system that enables the definition, creation and maintenance of a database and which provides controlled access to this database.
Decryption Using an algorithm and a key to convert encrypted message data into its plain text equivalent.
Degree (of a vertex) The number of neighbours for that vertex.
Degree of relationship Between two entities, it refers to the number of entity occurrences of one entity which are associated with just one entity occurrence of the other and vice versa.
Deterministic finite state machine (FSM) An FSM that has just one next state for each pair of state and input symbols.
Directed graph A diagram consisting of vertices, joined by directed edges.
Dynamic allocation Memory space is only allocated when required at runtime.
Dynamic data structure The memory taken up by the data structure varies at run time.
Dynamic web page content Content that is generated when the web browser request is received.
Embedded computer system A dedicated computer system with a limited or non-existent user interface and designed to operate completely, or largely, autonomously from within other machinery.
Encapsulation Combining a record with the procedures and functions that manipulate it to form a new data type; a class in OOP.
Encryption Using an algorithm and a key to convert message data into a form that is not understandable without that key.
Entity An object, person, event or thing of interest to an organisation and about which data are recorded.
Evaluation A systematic assessment of whether something meets its objectives or specifications and how well it meets the latter in terms of effectiveness, usability, maintainability.
Explorer's problem The solution finds a route that traverses each road exactly once before returning to the starting point.
Exponential growth Growth that has the form kn, e.g. 2n where k = 2 and n = 1, 2, 3, etc.
Exponential time algorithm An algorithm whose execution time grows exponentially with input size.
Feasibility study A study that investigates the potential of a new system.
Finite state automation A 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.
Floating point notation A real number represented by a sign, some significant digits (the mantissa) and a power of 2 (the exponent).
Foreign key An attribute in one table that is a primary key in another table.
Gateway A device used to connect networks using different protocols so that information can be successfully passed from one system to another.
General case The solution in terms of itself for a value n.
Graph A diagram consisting of vertices joined by edges.
Halting Problem The unsolvable problem of writing a program that can tell whether a given program and its inputs will halt, without running the given program.
Halting state A state that has no outgoing transition.
Handshaking protocol The sending and receiving devices exchange signals to establish that they are each ready to initiate data transfer.
Heuristic An approach that uses experience to make informed guesses that assist in finding a polynomial time solution to an intractable algorithmic problem. The 'solution' may be non-optimal.
Human-computer interaction The study, planning and design of what happens when a computer and human work together.
Inheritance The relationship between two object types in which one is a kind of the other and shares some of its properties or behaviours.
Instantiation An object is defined based on a class.
Internet A global wide area network that is formed from the interconnection of many other networks and that uses the TCP/IP protocol.
Interpreter An interpreter works its way through a set of source code instructions identifying the next instruction and then running routine(s) to execute it, before moving on to the next instruction.
Intractable A problem which can be solved, but for which no polynomial time solution (or better) has been found.
Labelled or weighted graph A graph in which the edges are labelled or given a value called its weight.
Linear queue Elements join the queue at one end and leave the queue at the other.
Linear search Starts at the beginning of the list and compares each element in turn with the required value until a match is found, or the end of the list is reached.
Linear time algorithm An algorithm that executes in O(n) time.
List A collection of elements with an inherent order.
Maintainability of software How easy it is to fix bugs, change parameters and respond to changing requirements.
Maintenance Fixing bugs, changing parameters and responding to changing requirements.
Mealy machine A finite state machine (FSM)that determines its outputs from the present state and from the inputs.
Model An abstraction of an entity in the real world or in the problem that enables an automated solution. The abstraction is a representation of the problem that leaves out unnecessary detail.
Neighbours Two vertices are neighbours if they are connected by an edge.
Non-computable An algorithmic problem that admits no algorithm.
Normalisation A technique used to produce a normalised set of entities in a database.
Normalised entities A set of entities that contain no redundant data.
Null pointer A pointer that does not point to anything, usually represented by Ø or –1.
Object An instance of a class.
Operating system role To manage the hardware resources in order to provide for an orderly and controlled allocation of the processors, memories and I/O devices among the various programs competing for them and manage the storage of data. It hides the complexities of the hardwa
Order of complexity Of a problem is its big O complexity.
Overflow The result of a calculation is too large to be represented using the available number of bits.
Parallel data transmission Multiple bits are sent down several wires simultaneously.
Peer-to-peer network A network that has no dedicated servers. All computers are of equal status and can both share resources themselves and use resources from other computers, ie they are peers.
Pharming When a phisher changes DNS server information so that customers are directed to another site.
Phishing When someone tries to get you to give them your personal information.
Plain text Message data before it is encrypted.
Pointer A variable that contains a memory address. The pointer 'points' to the memory location with that address.
Pointer type A variable of pointer type that stores an address of a data value.
Polymorphism Giving an action one name that is shared up and down a class hierarchy. Each class in the hierarchy implements the action in a way appropriate to itself.
Polynomial growth Growth that has the form nk, e.g. n3 where k = 3 and n = 1, 2, 3, etc.
Polynomial time algorithm An algorithm whose execution time grows as a polynomial of input size.
Precision The maximum number of significant digits that can be represented.
Primary key An attribute or set of attributes which uniquely identifies a tuple.
Principle of universality A universal machine is a machine capable of simulating any other machine.
Priority queue Each element of a priority queue has an associated priority.
Prototype An early or trial working version of the proposed system developed to test possible solutions.
Prototyping Building a working model, demonstration system, simplified version, rough copy or trial piece of software to help an analyst.
Pseudo-random numbers A series of numbers generated by computer with apparent randomness.
Queue A first-in-first-out (FIFO) abstract data type.
Recursive definition One that is defined in terms of itself.
Recursive routine A routine defined in terms of itself.
Referential integrity If a value appears in a foreign key in one table it must also appear in the primary key in another table.
Regular expression A notation for defining all the valid strings of a formal language or a special text string for describing a search pattern.
Regular language Any language that a finite state machine (FSM) will accept.
Relation A set of attributes and tuples, modelling an entity (a table).
Relational database A collection of tables which can be linked together by means of primary and foreign keys.
Relationship An association or link between two entities.
Relative error The absolute error divided by the actual numbers.
Robust code The program will function reliably and not crash or go into infinite loops, even with incorrect inputs or unpredictable values.
Rooted tree A tree in which one vertex has been designated as the root and every edge is directed away from the root.
Router A device that receives packets or from one host (computer) or router and uses the destination IP address that they contain to pass them correctly formatted, to another host (computer) or router.
Serial data transmission Single bits are sent one after another along a single wire.
Server A computer that provides shared resources to network users.
Significant digits Those digits which carry meaning contributing to the accuracy of a number. This includes all digits except leading and trailing zeros where they serve merely as placeholders to indicate the scale of the number.
Simple graph A graph without multiple edges in which each edge connects to two different vertices.
Software as a service (SaaS) A model of software deployment where an application is hosted as a service provided to customers across the Internet.
Space-complexity (of an algorithm) How much memory an algorithm needs. 
Stack A last-in-first-out (LIFO) abstract data type.
Stack frame The locations in the stack area used to store the values referring to one invocation of a routine.
Stand-alone computer A computer not networked, requiring its own printer and other peripherals plus its own installation of application software.
State transition diagram A directed graph whose nodes represent the states. An edge leading from state s to state t is called a transition and is labelled with a symbolic code, eg a | b. The a part of the label is called the transition’s trigger and denotes the input symbol. The
Static data structure The memory required to store the data structure is declared before run time.
System software A program that manages the operation of a computer.
Thin-client network A network where all processing takes place in a central server; the clients are dumb terminals with little or no processing tower or local hard disk storage.
Time-complexity (of an algorithm) How fast an algorithm runs, expressed as a function of the number of input values.
Topology (networks) The shape, configuration or structure of the connections that connect device to the network.
Tractable A problem that has a reasonable (polynomial) time solution as the size of the input increases.
Transition function Maps (input symbol, current state) to (output symbol, next state, direction of movement).
Transition table Tabulates the mappings (input symbol, current state) to (output symbol, next state, direction of movement) for all inputs.
Traveller’s problem The solution finds a route that visits each city exactly once before returning to the starting point.
Tree A connected undirected graph with no cycles.
Trojan A program that hides in or masquerades as desirable software, such as utility or a game, but attacks computers it infects.
Tuple A set of attribute values in a database.
Turing machine (TM) A formal model of computation that consists of a finite state machine (FSM) that controls one or more tapes, where at least one tape is of unbounded length (ie infinitely long).
Undecidable Describes a decision-type algorithmic problem that is non-computable.
Underflow The result of a calculation is too small to be represented using the available number of bits.
Universal TM A universal Turing machine can simulate any other Turing machine.
UTM A UTM, U, is an interpreter that reads the description <M> of any arbitrary Turing machine M and faithfully executes operations on data D precisely as M does. For single-tape Turing machines, it is imagined that <M> is written at the beginning of the tape
Usability The ease with which a user interface can be used by its intended audience to achieve defined goals.
Virtual machine The apparent machine that the operating system presents to the user, achieved by hiding the complexities of the hardware behind layers of operating system software.
Virus (computer) A small program attached to another program or data file. It replicates itself by attaching itself to other programs.
Volumetrics Measurement or assessment of the volume of data that a system will be required to process and store.
Web 2.0 Software that becomes a service that is accessed over the Internet.
Web server extension A program written in native code, ie an executable or a script that is interpreted by an interpreter running on the web server that extends the functionality of the web server and allows it to generate content at the time of the HTTP request.
Web services Self-contained, modular applications that can be described, published, located and invoked over a network, generally the web.
WiFi Trademarked IEEE 802.11 technologies that support wireless networking of home and business networks.
Wireless network Any type of local area network (LAN) in which the nodes (computers or computing devices, often portable devices) are not connected by wires but use radio waves to transmit data between them.
Worm A small program that exploits a network security weakness (security hole) to replicate itself through computer networks.

January 2018


View the calendar in full

ICT News

View more news stories