More Definitions Flashcards
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.
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.
Asynchronous serial data transmission
Transmission system in which the sender and receiver have separate clocks which are not kept synchronised. Instead the clocks are synchronised temporarily at the start of a transmission. The arrival of data cannot be predicted by the receiver; s a start bit is used to signal the arrival of data and to synchronise the transmitter and receiver temporarily.
Attribute
A property or characteristic of an entity (databases) or an object (OOP).
Automation
Turning an abstraction into a form that can be processed by a computer.
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.
Baud rate
The rate at which signals on a wire may change.
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.
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).
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.
Composition
A type of association where the composite object has ownership of the objects within it. The objects that are part of the composite objects have a lifecycle determined by the composite object. If the composite object ceases to exist then they too will cease to exist.
Cryptography
The science of designing cipher systems.
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 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 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 time algorithm
An algorithm whose execution time grows exponentially with input size.
Feasibility study
A study that investigates the potential of a new system.
Finite state machine
A finite state machine is a model of computation for a machine that is always in one of a fixed number of states. The state of the machine can be changed according to transition rules based upon the input that it receives and its current state. Some finite state machines produce output as they carry out transitions whilst others simply produce a yes/no response at the end of processing their input.
Floating point notation
A real number represented by a sign some significant digits (the mantissa) and a power of 2 (the exponent).
Foreign key
An attribute in one table that is a primary key in another table.
Gateway
A device used to connect networks using different protocols so that information can be successfully passed from one system to another.
General case
The solution in terms of itself for a value n.
Graph
A diagram consisting of vertices joined by edges.
Halting problem
The unsolvable problem of writing a program that can tell whether a given program and its inputs will halt without running the given program.
Halting state
A state that has no outgoing transition.
Handshaking protocol
The sending and receiving devices exchange signals to establish that they are each ready to initiate data transfer.
Heuristic
An approach that uses experience to make informed guesses that assist in finding a polynomial time solution to an intractable algorithmic problem. The ‘solution’ may be non-optimal.
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.
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.
Object
An instance of a class.
Operating system role
To manage the hardware resources in order to provide for an orderly and controlled allocation of the processors memories and I/O devices among the various programs competing for them and manage the storage of data. It hides the complexities of the hardware from the user.
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.
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.
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 time algorithm
An algorithm whose execution time grows as a polynomial of input size.
Primary key
An attribute or set of attributes which uniquely identifies a tuple.
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.
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.
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.
Relational database
A collection of tables which can be linked together by means of primary and foreign keys.
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.
Software as a service (SaaS)
A model of software deployment where an application is hosted as a service provided to customers across the internet.
Space-complexity (of an algorithm)
How much memory an algorithm needs.
Stack
A last-in-first-out (LIFO) abstract data type.
Stack frame
The locations in the stack area used to store the values referring to one invocation of a routine.
Stand-alone computer
A computer not networked requiring its own printer and other peripherals plus its own installation of application software.
State transition diagram
A directed graph whose nodes represent the states. An edge leading from state s to state t is called a transition and is labelled with a symbolic code eg a | b. The a part of the label is called the transition’s trigger and denotes the input symbol. The b part which is optional denotes the output symbol.
Static data structure
The memory required to store the data structure is declared before run time.
System software
A program that manages the operation of a computer.
Thin-client network
A network where all processing takes place in a central server; the clients are dumb terminals with little or no processing power 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).
Traveller’s problem
The solution finds a route that visits each node 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
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 Turing Machine
A universal Turing machine can simulate any other Turing machine. A UTM is an interpreter that reads the description of any arbitrary Turing machine M and 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.
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
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.
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.