All Definitions Flashcards

1
Q

Arithmetic and Logic Unit (ALU)

A

The part of the CPU where data is processed and manipulated. This processing and manipulation normally consists of arithmetic operations or logical comparisons allowing a program to make decisions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Control Unit (CU)

A

The part of the CPU that manages the execution of instructions. The control unit fetches each instruction in sequence, and decodes and synchronises it before executing it by sending control signals to other parts of the computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Register

A

Tiny areas of extremely fast memory located in the CPU normally designed for a specific purpose, where data or control information is stored temporarily.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Program Counter (PC)

A

A register in the control unit which holds the address of the next instruction to be executed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Accumulator (ACC)

A

A special register within the ALU. It is used to hold the data currently being processed by the central processor. Any data to be processed is stored temporarily in the accumulator, the results ending up back in the accumulator being stored in the memory unit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Memory Address Register (MAR)

A

A register in the CPU that stores the address of the memory location currently in use. In the fetch phase, this would be the address of the instruction being loaded; in the execute phase, it would be the address of the data being used.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Memory Data Register (MDR)

A

A register that contains the data to be stored in the computer storage, or the data after a fetch from the computer storage. It acts like a buffer and holds anything that is copied from the memory ready for the processor to use it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Current Instruction Register (CIR)

A

Instruction Register (CIR)
A register in the control unit that stores the address of the instruction currently being executed and decoded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Busses

A

A common physical pathway shared by signals to and from several components of a computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Data Bus

A

The part of the bus which carries the actual information.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Address Bus

A

The part of the bus which carries identification about where the data is being sent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Control Bus

A

This bus carries command and control signals to and from every other component of a computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Fetch Decode Execute

A

The complete process of retrieving an instruction from store, decoding it and carrying it out. Also known as the instruction cycle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

CPU

A

The main part of the computer, consisting of the registers, ALU and control unit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Clock Speed

A

Measured in Hertz, the clock speed is the frequency at which the internal clock generates pulses. The higher the clock rate, the faster the computer may work. The clock is the electronic unit that synchronises related components by generating pulses at a constant rate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cores

A

A part of a multi-core processor. A multi-core processor is a single component with two or more independent actual CPUs, which are the units responsibly for the fetch-decode-execute cycle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cache

A

A part of the main store between the central processor and the rest of the memory. It has extremely fast access, so sections of a program and its associated data are copied there to take advantage of its short fetch cycle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Pipelining

A

The concurrent decoding of two or more machine instructions. While part of one instruction (for example, an address field) is being decoded, another part of a second instructions (for example, an operation code) may also be decoded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Von Neumann Architecture

A

Traditional computer architecture that forms the basis of most digital computer systems. A single control unit manages program control flow following a linear sequence of fetch-decode-execute

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Harvard Architecture

A

A computer architecture with physically separate storage and signal pathways for instructions and data. These early machines had data storage entirely contained within the central processing unit, and provided no access to the instruction storage as data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Contemporary Architecture

A

Any modern set of disciplines that describes the functionality, the organisation and the implementation of computer systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Complex Instruction Set Computer (CISC)

A

A design that produces a complicated and expensive integrated circuit capable of performing a large variety of complex instructions. Complex instructions can be executed with few machine cycles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Reduced Instruction Set Computer (RISC)

A

A design that produces a simple, cheap integrated circuit with a basic range of machine instructions. Relies on speed as complex instructions take many machine cycles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Graphics Processing Unit

A

Designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display.

Modern GPUs have a highly parallel structure that makes them more effective than CPUs for algorithms where processing of large blocks of data is done in parallel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Multicore System
Development of CISC architecture with several sets of CPU components in one microprocessor.
26
Parallel Processor System
The simultaneous use of several processors to perform a single job. A job may be split into a number of tasks each of which may be processed by any available processor.
27
Input Device
Any peripheral device that can accept data, presented in the appropriate machine-readable form, decode it and transmit it as electrical pulses to the CPU
28
Output Device
Any peripheral device that translates signals from the computer into a human-readable form or into a form suitable for reprocessing by the computer at a later stage.
29
Storage Device
Any medium (optical, magnetic, solid state and even paper which holds data or programs
30
Magnetic Storage
Storage medium which uses surfaces coated with a layer of magnetic material on which data can be stored by magnetically setting the arrangement of the magnetic material. This is done by electromagnetic read/write heads.
31
Flash Storage
Collection of memory chips that is controlled by its own software to make the collection of chips act like a disk drive.
32
Optical Storage
Storage medium that uses plastic discs on which the data is stored as patterns on the surface in pits and lands.
33
Random Access Memory (RAM)
Volatile main memory. Access times are very fast. It can be used in main areas of computing and computing storage. When used as main memory it typically can be thought of as containing the OS, programs in use and the data those programs are using while the computer is running.
34
Read Only Memory (ROM)
Memory for which the contents may be read by cannot be written to by the computer system. Software in ROM is fixed during manufacturing. It typically holds system boot up instructions. ROM is non-volatile.
35
Virtual Storage
A means of apparently extending main storage by using backing storage (such as a hard disk) as if it were main memory.
36
Operating System
Collection of systems software that manages the computer. Usually supplied with the computer. Examples include Windows, Linux, Unix, MacOS, iOS.
37
Memory Management
The process of organising the flexible use of the computer's main memory.
38
Paging
The organisation of memory into fixed-sized units, called pages. The immediate-access store is organised as a number of physical pages. The logical pages used by the SPU can be assigned by the memory management unit to any page in physical memory.
39
Segmentation
Splitting of a large program into a number of smaller segments. Each segment is a complete program that is executed separately. The function of the large program is achieved by running segments consecutively. This allows a large program to be executed on a computer with insufficient memory.
40
Interrupt
A signal generated by a source such as an input or output device or a systems software routine that causes a break in the execution of the current routine. Control passes to another routine in such a way that the original routine can be resumed after the interrupt.
41
Interrupt Service Routine (ISR)
A software routine that hardware invokes in response to an interrupt. These examine an interrupt and determine how to handle it.
42
Scheduling
The method by which central processor time is allocated in a multi-access system.
43
Round Robin (RR)
A scheduling algorithm that deals with each user or task to be processed in turn.
44
First Come First Serve (FCFS)
A scheduling algorithm that deals with each user or task in the order in which they arrive, this can be thought of as a queue.
45
Multi Level Feedback Queue
A complex scheduling algorithm that deals with tasks based on a set of priorities and rules across different league tables, jobs in a certain table get promoted up or down their table based on these rules and can then end up in totally different tables if they relegated.
46
Shortest Job First
A scheduling algorithm that deals with each user or task based on the getting the smaller ones out of the way.
47
Shortest Remaining Time
A scheduling algorithm that deals with each user or task based on a calculating an estimated time remaining to complete.
48
Distributed OS
An operating system where the software is spread over a collection of independent, networked, communicating, and physically separate nodes.
49
Embedded OS
Highly specialised OS designed to control a machine. In contrast to an operating system for a general-purpose computer, an this type of OS is typically quite limited, often running a single application. However, that single application is crucial to the device's operation. e.g. Washing machine OS
50
Multi tasking OS
Any type of system that is capable of running or appearing to run more than one program at a time.
51
Multi user OS
Any operating system designed to allow multiple users to log in and connect to it from different locations / machines at the same time. Specially designed for the sharing of resources such as files, programs or hardware (printers, scanners etc).
52
Real Time OS
An operating system intended to serve real-time application process data as it comes in, typically without buffering delays.
53
Basic Input Output System (BIOS)
Part of the operating system that handles the input and output of the computer. It enables the operating system to use the particular features of the hardware being used.
54
Device Drivers
A computer program that operates or controls a particular type of device that is attached to a computer.
55
Virtual Machine
An emulator of a particular computer system. Virtual machines operated based on the computer architecture and functions of a real or hypothetical computer, and their implementations may involve specialised hardware, software, or a combination of both.
56
Intermediate Code
Half-way type of code which is standard across machine types. Runs on a virtual machine.
57
Application
Any program, routine or procedures (together with their associated documentation) that can be run on a computer system.
58
Utilities
A systems program that performs some specific task in the operation of the computer, for example file backup, virus checking or a compression program.
59
Open Source
Software for which the original source code is made freely available and may be redistributed and modified. - Open source file types are often able to be opened on many different types of applications.
60
Closed Source
Often called Proprietary is a type of computer program for which the software code is not shared with the public for anyone to look at or make changes to - Closed / Proprietary file types are often only able to be opened if you own a version of the software they were originally made in.
61
Source Code
Original code typed in by the programmer in the native language. This is the code as it appears before it is compiled or interrupted.
62
Translator
A program that translates a program written in assembly language into machine code.
63
Interpreter
Translates and executes a program one statement at a time.
64
Compiler
A program that translates a high-level language program, source code, into a computer's machine code.
65
Assembler
A program that translates (assembles) a program written in assembly language into machine code.
66
Compilation
The translation process that produces an equivalent program in a low-level language. This involves analysing the language structure of the source program, determining if it is valid, and proceeding suitable machine code.
67
Syntax Analysis
The stage in compilation where language statements are checked against the rules of the language, errors being reported if a statement is not valid.
68
Code Generation
The stage in compilation that produces a machine-code program that is equivalent to the source program.
69
Optimisation
The stage of compilation that ensures that the executable program if optimised at least as much as the compiler can predict. e.g. removing reference to unused variables or routines.
70
Linker
Software tool that allows already compiled object code files or modules to be combined with the compiled program.
71
Loader
A program that copies an object program held on backing store into main store ready for execution.
72
Libraries
A collection of pre-compiled routines which can be incorporated into a program.
73
Software Development Life Cycle (SDLC)
The various stages in designing and implementing a new computer system. Stages: - analysis - design - implementation - testing - installation - maintenance
74
Waterfall Model
An earlier abstract description of the system lifecycle where each identified stage of development flows from the previous one and down to the next one. Feedback from each to the previous takes place independently of the forward flow.
75
Agile Methodologies
Describes the responsive development of a system made of small software modules (often web-based applications) by a group of collaborators who work concurrently and closely under a leader who ensures engineering best practice and delivery of the customer requirements.
76
Extreme Programming
Type of agile methodology intended to improve software quality and responsiveness to changing customer requirements. It advocates frequent releases in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.
77
Spiral Model
An abstract description of the systems life cycle where there are four defined quadrants - planning, risk analysis, use of design methods, client and management evaluation. Once one stage of development has gone full circle, the next please takes place, and so on until completion.
78
Rapid Application Development (RAD)
A design strategy that includes online development and repeated prototyping and evaluation. It is particularly suited to interactive systems.
79
Programming Paradigm
To describe an example or pattern. In a Computing context, this means to describe a computational way of doing things. So a Programming _______ is a style or way of programming. E.g. Low-Level languages, High-Level languages, Declarative languages are all examples.
80
Assembly Language
A language which is related very closely to the computer's own machine code.
81
Machine Code
Set of all possible instructions made available by the hardware design of a particular processor. Closest to pure binary.
82
Low Level Language
A language which is close to machine code. Related closely to the design of the machine.
83
High Level Language
A language designed to help a programmer express a computer program in a way that reflects the problem that is being solved, rather than the details of how the computer will produce the solution.
84
Little Man Computer (LMC)
An instructional model of a computer, created by Dr. Stuart Madnick in 1965. The LMC is generally used to teach students, because it models a simple von Neumann architecture computer - which has all of the basic features of a modern computer. It can be programmed in machine code or assembly code
85
Immediate Addressing
Uses the data in the address field, not as an address, but as a constant that is needed by the program.
86
Direct Addressing
Uses the data in the address field without alteration. This is the simplest method of addressing and also the most common.
87
Indirect Addressing
Uses the address field to hold the address of a location that contains the required address.
88
Indexed Addressing
Modifies the address in the address field by the addition of a number held in a special-purpose registers, called an index register, before the address is used. Index registers are quickly and easily altered providing an efficient way of accessing a range of memory locations, such as in an array.
89
Object Orientation (OO)
Looking at systems by classifying them into real world objects
90
Object Orientated Programming (OOP)
A method of programming which classifies real world objects into classes and encapsulates those objects attributes and behaviours.
91
Class
A type definition of an object
92
Object
An instance of a class.
93
Base Class
Base class contains attributes and methods. It is the highest class and does not inherit from any other class.
94
Superclass
A class that has been extended by another class. It allows the extending class to inherit its attributes and methods.
95
Subclass
A class that extends another class. The subclass inherits the methods and attributes of the class it extends.
96
Derived Class
A derived class is any class that inherits attributes and methods from any other derived class or base class.
97
Instantiation
The process of creating an actual named instance of class. The instantiated named copy of the class in an object of that class.
98
Overriding
A method in a subclass or derived class which has the same name as a method in one or more of its superclass's. The method supersedes all other versions of the method above it in the inheritance tree.
99
Method
A program routine contained within an object designed to perform a particular task on the data within the object. A method can broadly be thought of as a procedure / function from more traditional procedural programming languages.
100
Attribute
A single bit of data within a record
101
Inheritance
When a derived class is defined it also has all the attributes and methods of the base class.
102
Encapsulation
All of the object's attributes are contained and hidden in the object and access to them is restricted to operations of that class.
103
Polymorphism
A specialised form of overloading which allows us to create very general object structures, which can be used with a wide range of data types.
104
Lossy Compression
A compression scheme where their generally involves a loss of resolution in parts of the image where experiences shows that it will be least noticed.
105
Lossless Compression
A compression scheme that allows the original images to be recreated.
106
Length Encoding
A very simple form of data compression in which runs of data (that is, sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original run.
107
Dictionary Coding
A class of lossless data compression algorithms which operate by searching for matches between the text to be compressed and a set of strings contained in a data structure (called the 'dictionary') maintained by the encoder.
108
Symmetric Encryption
The oldest and best-known encryption technique. A secret key, which can be a number, a word, or just a string of random letters, is applied to the text of a message to change the content in a particular way. This might be as simple as shifting each letter by a number of places in the alphabet.
109
Asymmetric Encryption
This method of encryption involves using a pair of keys to encrypt and decrypt a message so that it arrives securely. Initially, a network user receives a public and private key pair from a certificate authority.
110
Hashing
The process of calculating a numeric value from one or more data items. While this value obviously depends on the value of the data items, it need not depend on the meaning attached to them, simply producing a number that is used within the computer.
111
Relational Database
Allows the user to specify information about multiple tables and the relationship between those tables
112
Flat File
A database that allows the user to specify data attributes (columns, databases etc.) for only one table at a time, storing those attributes independently
113
Primary Key
A field that uniquely identifies a record in a table
114
Foreign Key
The linking field in the foreign table formed when a relationship is made. The FK becomes by default the PK of the new table.
115
Concatenated Primary Key
When more than one field is added together to form a unique primary key for a table.
116
Secondary Key
A key field which can be used to access a table in a different way
117
Entity Relationship Modelling
The process of producing a data model for describing the data or information aspects of a business domain or its process requirements, in an abstract way that lends itself to ultimately being implemented in a data such as a relation database.
118
Normalisation
The process of arranging data in tables and setting their relationships to move them through normal forms
119
Indexing
The process of creating a database index, which is a data structure that improves the speed of data retrieval operations on a dataset table at the cost of additional writes and storage space to maintain the index data structure.
120
0th normal form (0nf)
A table with no normalisation. All data and all fields in one table
121
First Normal Form (1NF)
A relationship with repeating groups removed. That is a relation in which the intersection of each tuple and attribute contains one and only one value.
122
Second Normal Form (2NF)
A relation that is in 1NF and every non-primary key attribute is fully dependent on the primary key. That is, all the incomplete dependencies have been removed
123
Third Normal Form (3NF)
A relation that is in 1NF and 2NF, and in which no non-primary key attribute is transitively dependent on the primary key. That is, all non-key elements are fully dependent on the primary key
124
Normal Forms
A way of structuring the data in a relational database according to formal rules, in order to avoid problems of efficiency and security in accessing and maintain the data.
125
Structured Query Language
The language and syntax used to write and run database queries
126
Referential Integrity
A measure of the consistency of the data in a database. It is violated when the relation to which a foreign key refers to no longer exists.
127
Transaction Processing
Information processing that is divided into individual, indivisible operations, called transactions. Each transaction must succeed or fail as a complete unit, it can never be only partially complete.
128
Atomicity, Consistency, Isolation, Durability (ACID)
A set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction.
129
Record Locking
A technique of preventing simultaneous access to data in a database, to prevent inconsistent results. The classic example is demonstrated by two bank clerks attempting to update the same bank account for two different transactions.
130
Redundancy
This occurs in database systems which have a field that is repeated in two or more tables.
131
TCP/IP Stack
The most common general-purpose standard protocol that allows any networked computers (including those on The Internet) to communicate with each other whatever their equipment.
132
DNS
The Internet's equivalent of a phone book. They maintain a directory of domain names and translate them to Internet Protocol (IP) addresses. This is necessary because, although domain names are easy for people to remember, computers or machines access websites based on IP addresses.
133
Protocol Layering
Protocol layering is a common technique to simplify networking designs by dividing them into functional layers, and assigning protocols to perform each layer's task.
134
Local Area Network (LAN)
A collection of computers / computing devices on the same network which are physically close together, for example, all located within one building or site e.g. a home or school network.
135
Wide Area Network (WAN)
A collection of computers / computing devices on the same network which are spread out over a geographically large area, for example a university across several campuses, or a multinational corporation with offices / sites in different cities or even different countries.
136
Packet Switching
A method of sending data over a wide area network in which the message is broken into a number of parts which are sent independently, over whatever route is optimum for each packet, and reassembled at the destination.
137
Circuit Switching
A method of sending data over a wide area network in which two network nodes establish a dedicated communications channel through the network before the nodes may communicate. All data then follows this same path for the duration of the data transfer.
138
Firewall
A computer application used in a network to prevent external users gaining unauthorised access to a computer system.
139
Proxies
A computer application that accesses data on a different computer system or network. It controls the access of authorised users to data and allows the operation of the system to be isolated from control by external users.
140
Encryption
The process of making data in a computer system unintelligible.
141
Client-Server
A method of network organisation in which network stations make use of resources available at one or more servers.
142
Peer to Peer
A method of network organisation in which network stations can share resources on other network stations, so one station can use a printer on another station or save data on another station's local storage.
143
Cascading Style Sheets (CSS)
A definition of the formatting and layout of elements of an HTML document. The use of different SS linked to the same document allows appropriate layout of the same content on, for example, mobile devices, display screens.
144
JavaScript
An object-oriented computer programming language commonly used to create interactive effects within web browsers.
145
Search Engine Indexing
The method of collecting, parsing and storing data to facilitate fast and accurate information retrieval.
146
PageRank Algorithm
Algorithm used by Google to rank websites in their search engine results. It works by counting the number and quality of links to a page to determine a rough estimate of how important the website is. The assumption is that more important websites are likely to receive more links from other websites
147
Sever Side Processing
Server-side processing refers to operations that are performed by the server in a client-server relationship in computer network. Typically, a server is a computer program, such as a web server, that runs on a remote server, reachable from a user's local computer.
148
Client Side Processing
Client-side processing refers to operations that are performed by the client in a client-server relationship in a computer network. Typically, a client is a computer application, such as a web browser, that runs on a user's local computer and connects to a server as necessary.
149
Primitive Data Types
The basic data types provided by a programming language as building blocks. Most languages allow more complicated composite types to be recursively construction starting from basic types. E.g. char, integer, float, Boolean.
150
ASCII
A character set devised for early telecommunication systems but proved to be ideal for computer systems. Codes in this character set use 7-bits giving 32 control codes and 96 displayable characters (the 8th bit is often used for error checking).
151
Array
A set of data items of the same type grouped together using a single identifier. Each of the data items is addressed by the variable name and a subscript.
152
Records
A data structure which consists of a collection of elements, typically in fixed number and sequence and typically indexed by names. The elements of records may also be called fields.
153
Lists
An abstract data type that represents a sequence of values, where the same value may occur more than once. The name list is also used to cover several concrete data structures that can be used to implement abstract lists especially linked lists.
154
Tuple
Another name for a record.
155
Linkedlist
A list where each item contains the data together with a pointer to the next item. There may be an additional pointer to the previous item. This means the items can be accessed in order even if they are not stored in order; they do not have to be stored in adjacent memory locations.
156
Directed Graph
In a directed graph, the order of the vertices in the pairs in the edge set matters.
157
Undirected Graph
In an undirected graph, the order of the vertices in the pairs in the Edge set doesn't matter.
158
Stack
A stack is a dynamic data structure of the form Last In First Out (LIFO).
159
Queue
A queue is a dynamic data structure of the form First In First Out (FIFO).
160
Tree
A widely used abstract data type that simulates a hierarchical tree structure, with a root value and sub-trees of children with a parent node, represented as a set of linked nodes.
161
Binary Search Tree
A data structure very similar to a tree with the following additional restrictions. Each node can have only 0, 1 or 2 leaf nodes. All left nodes and all of its descendants have smaller values that the root node, while all right nodes and all of its descendants have larger values than the root node.
162
Hash Table
A data structure where the calculated value is used to mark the position in the table where the data item should be stored, enabling it to be accessed directly, rather than forcing a sequential search.
163
Half Adders
A unit which adds together two input variables. A half adder can only add the inputs together.
164
Full Adders
A unit which adds together two input variables. A full adder can a bit carried from another addition as well as the two inputs.
165
The Data Protection Act (DPA, 1998)
Legislation which protects individuals from unreasonable use of their store personal data.
166
The Computer Misuse Act (CMA, 1990)
Legislation which defines electronic vandalism, unauthorised access to computer systems and theft of information.
167
The Copyright Design and Patents Act (CDPA, 1988)
Legislation which gives creators of literacy, dramatic, musical and artistic works the right to control the ways in which their material may be used.
168
Regulation of Investigatory Powers Act (RIPA, 2000)
Legislation which regulates the powers of public bodies to carry out surveillance and investigation, and covering interception of communications.
169
Abstraction
Simplifying something so that you have the details that are required for the solution. e.g. London Underground map
170
System Inputs
Anything which will be required to go into a system in any form in order for it to operate as intended. These inputs are then processed by the system following the rules or algorithms of the system.
171
System Outputs
Anything which exits a system in any form in order for it to operate as intended. These outputs are often the result of complex processing of inputs along with other data.
172
Solution Preconditions
Any condition which pre-exists the suggested solution. For example for a road traffic speed camera program their would be pre-conditions which could be as simple as requiring a road in place and a vehicle traveling along it.
173
Concurrent Processing
Any situation in the design or programming of a system when you would want more than one thing happening at the same time.
174
Sequence
One of the 3 basic programming constructs. Instructions happening one after the other in order is sequence.
175
Iteration
One of the 3 basic programming constructs. A selection of code which can be repeated either a set number of times (count controlled) or a variable number of times based on the evaluation of a Boolean expression (condition controlled) is iteration.
176
Branching / Selection
One of the 3 basic programming constructs. Instructions which can evaluate a Boolean expression and then branch the code to one or more alternatives paths is branching / selection.
177
Recursion
An advanced programming construct in which a block of code (often a function) is able to call itself. Algorithms using this construct must be designed carefully so that terminating condition will be met.
178
Local Variable
A variable which is defined and can only be used within one part of the program (normally a single function or procedure).
179
Modularity
A technique of code design where a solution is broken down into a number of small self-contained and manageable chunks. Each Module of code should be designed to perform one set specific purpose.
180
Functions
A block of code given a unique identifiable name within a program. A function can take either zero or more parameters when it is called and should return a value. The function should be designed and written to perform one task or action which is clearly indicated by its name.
181
Procedures
A block of code given a unique identifiable name within a program. A procedure can take either zero or more parameters when it is called. The procedure should be designed and written to perform one task or action which is clearly indicated by its name.
182
Parameters
Data structures passed into a Procedure or Function when they are initially called.
183
Parameter Passing
The process of providing a procedure, function or module with values at the point when you call it.
184
Parameter Passing by value
If a data item is passed by value, a (local) copy of the data is used, which is discarded when the subprogram exits.
185
Parameter Passing by reference
If a data item is passed by reference, the location (in memory) of the data is used. This means that any changes are retained after the procedure or function has been completed.
186
Integrated Development Environment (IDE)
Software that performs the various stages of software design and implementation in a single integrated system. It will usually include facilities for project management, design, graphical design, programming, testing and producing documentation.
187
Debugging
The process of removing syntactical, semantic (logical) and run-time errors from computer code.
188
Computational Methods
Describes any method which does something related to computation, such as sorting, merging, searching, indexing etc.
189
Problem Recognition
The acknowledgement and definition of an issue that does or may arise during the performance of a process.
190
Problem Decomposition
The process by which a complex problem or system is broken down into parts that are easier to conceive, understand, program and maintain.
191
Divide and Conquer
Another term for decomposition which is the process by which a complex problem or system are broken down into parts that are easier to conceive, understand, program and maintain.
192
Backtracking
A refined brute force algorithm for finding a complete solution. General algorithm for finding all solutions to computational problems. It incrementally builds to the solution, abandoning each partial success as soon as it determines that the partial solution cannot be completed to a valid solution
193
Data Mining
The analysis of a large amount of data in a data warehouse to provide new information. For example, by using loyalty cards, which connect purchases to a particular customer, supermarkets can gathering information about the buying habits of individual customers.
194
Heuristics
Rules that are not derived purely from logic but are derived from the experience (of a person). These are also known as 'rules of thumb'.
195
Performance Modelling
This is the process of carrying out mathematical approximations of how well models perform. e.g. How efficient they are.
196
Visualisation
The process of turning data in a visual representation which is easier for humans to understand, interrupt and work with.
197
Algorithm
A sequence of steps designed to perform a particular task. An algorithm may be constructed to describe the operation of a complete system or to describe a particular part of it.
198
Big O Notation
Used in computer science to describe the performance or complexity of an algorithm. Big-O specifically described the worst-case scenario, and can be used to describe the execution time required or the space used (e.g. in memory or on disk) by an algorithm.
199
Bubble Sort
A simple algorithm popular with inexperienced programmers. It is inefficient when sorting large amounts of data as the time taken is related to the square of the number of items. If 10 items take 1ms then 100 times will take 100ms.
200
Insertion Sort
A simple sorting algorithm that builds the final sorted array (or list) one item at time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.
201
Merge Sort
A type of divide and conquer algorithm that was incited by John von Neumann. First the list is divided into the smallest unit (1 element), then each element is compared with the adjacent list to sort and merge the two adjacent lists. Finally all elements are sorted and merged.
202
Quick Sort
1. If the list to be sorted is length 1, then finish 2. Pick an item within the list to act as a pivot. Usually left-most item. 3. Split list into two parts - one with items equal to or larger than the pivot and the other contains items smaller than the pivot 4. Repeat process on the two halves
203
Dijkstra's Shortest Path
A graph search algorithm that solves the single-source shortest path problem for a graph with non-negative edge path costs, producing a shortest path tree. This algorithm is often used in routing and as a subroutine in other graph algorithms. In practice in picks an unvisited vertex with the lowest-distance, calculates the distance through it to each unvisited neighbour, and updates the neighbours distance if smaller. It the marks the visited when done with neighbours.
204
A* Algorithm
Widely used in pathfinding and graph traversal, the process of plotting an efficiently traversable path between points, called nodes. A* uses a best-first search and finds a least-cost path from a given initial node to one goal node. As it traverses the graph, it follows a path of the lowest expected total cost or distance, keeping a sorted priority queue of alternate path segments along the way.
205
Binary Search
Efficient search method on ordered data. It involves accessing the middle record in the file and determining if the target record has been found, if not, if it is before or after in the sequence. This process is repeated on the part of the file where the target record is expected, until it is found
206
Linear Search
Involves examining each entry in turn in the file until the time is found or the end of the file is reached. Unless the file is in some useful order a serial search has to be used.
207
Lexical Analysis
Stage in compilation of a program that puts each statement into a form suited to the syntax analyser. The standard components of each statement, such as PRINT, IF, are replaced by their tokens and programmer-defined names are entered into a symbol table. Unnecessary characters are also removed.
208
Global Variable
A variable which can be used anywhere in the program.
209
Abstract Model
Any model of a system which has been taken from, or based on (abstracted) a real life situation or problem.
210
Character Sets
The set of symbols that may be represented in a computer at a particular time. These symbols, called characters, can be letters, digits, spaces or punctuation marks, the set includes control characters.
211
Virtual Memory
Used when sufficient immediate-access store is not available. Part of a disk drive is allocated to be used as if it were main memory. This is very slow, and the software will attempt to use the immediate-access store if possible.
212
Protocol
A set of rules that allow two devices to communicate.
213
Procedural Language
Any high level language in which program statements can be grouped in self-contained blocks called procedures and functions. These procedures have their own variables, not accessible outside the procedure.
214
Atomicity
A transaction must be ​processed in its entirety or not at all​
215
Consistency
A transaction must maintain the ​referential integrity rules​ between linked tables
216
Isolation
Simultaneous executions of transactions should lead to the ​same result​ as if they were executed one after the other
217
Durability
Once a transaction has been executed it ​will remain so​ regardless of the circumstances surrounding it, ie in event of a power cut.
218
application layer
It specifies what protocol required in order to relate to the application or file being sent
219
transport layer
Splits data up into packets and labels these will include their packet number and the total number of packets the port number is also included at this stage so recipient computer can handle data appropriately
220
Internet Layer
Adds the source IP and destination IP addresses. Routers use this information to forward the packets, the socket specifies where the packet must be sent to
221
link layer
physical connection between the network nodes created, it adds the MAC address of source and destination computers so that the packets can be sent appropriately.