Using the quantum states of atoms to perform computations and solve problems that would take too long by a conventional computer

8 of 142

Algorithm

A description independent of programming language of a process that achieves a task. A step by step procedure to solving a problem

9 of 142

Deterministically

Without guessing a solution before confirming it

10 of 142

Program

A description in a programming language of a process that achieves some useful results

11 of 142

Abstraction

What is the right level for thinking about a particular problem, how to communicate complex ideas simply and how to decompose problems logically

12 of 142

Automation

How to automate an algorithm

13 of 142

Given

An initial situation

14 of 142

Goal

A desired outcome

15 of 142

Resources

Things that can be used to reach a goal and impose contraints

16 of 142

Constraints

Something preventing you from solving a problem in a particular way

17 of 142

Defining boundaries

Establishing the limits or rules about what can and cannot be done when solving a problem (type of constraint)

18 of 142

Lateral thinking

Used to challenge assumptions, establish facts and rules and define boundaries of problem solving

19 of 142

Top-down design

Breaks a problem into smaller problems that are easier to work on

20 of 142

Module

A self contained entity that results when a problem is divided into subproblems; each module corresponds to a subproblem

21 of 142

Stepwise refinement

The process of breaking a problem down through succesive steps into smaller problems

22 of 142

Structure table

an indented numbered list of steps produced by stepwise refinement

23 of 142

Finite state machine

A machine that consists of a fixed set of possible states with a set of allowable inputs that change the state and a set of possible outputs

24 of 142

State transition diagram

A way of describing an FSM graphically. Each state is represented by a circle and each transition by an arrow labelled with the input that causes the transition plus any output resulting from the transition

25 of 142

State transition table

Shows the effect on the current state of an FSM of particular inputs and any corresponding output

26 of 142

Decision table

A tebles that shows the outcome for a given logical condition

27 of 142

Sequence

Consecutive steps or groups of steps processed one after another in the order that they arise

28 of 142

Selection

A decision making step

29 of 142

Repetition of iteration

A step or sequence of steps that are repeated until some condition is satisfied or WHILE some condition is satisfied

30 of 142

Assignment

An operation that assigns a value to a variable

31 of 142

Structured English

A very restricted subset of the English language

32 of 142

Pseudocode

Code that resembles a programming language but that uses less strict syntax to express an algorithm and is independent of any real programming language

33 of 142

Hand trace, desk check or dry run

A careful step by step simulation on paper of how an algorithm would be executed by a computer

34 of 142

High level programming language

A language that has English like keywords and commands to express the basic constructs of sequence selection (decision) and repetition (iteration)

35 of 142

Pascal

A high-level programming language designed to teach students structured programming

36 of 142

Visual Basic 2005

A high-level programming language that took the language Basic and redefined it to work with Microsoft's.Net framework

37 of 142

C#

A high level programming language based on C++ and Pascal developed specifically for Microsoft's.Net framework

38 of 142

Variable

A location in memory that contains one or more data values

39 of 142

Identifier

A unique name given to a variable, a procedure, a function, etc.

40 of 142

Integer division

Returns only the whole number part of the division

41 of 142

Compiler

A program that translates source code into executable object code

42 of 142

Console application

A program that runs in a text based window into which the user types and which displays text output from the computer

43 of 142

Global variable

A variable declared at the beginning of a program and accessible from anywhere in the program

44 of 142

Local variable

A variable declared in a program bloakc and accessible only within the program bloack

45 of 142

Constant

A value that does not change throughout the program eg. Pi

46 of 142

Integer

A whole number

47 of 142

Real number

A number with a decimal point and a fractional part

48 of 142

String

A sequence of zero or more characters

49 of 142

Character

Any letter, numeral or symbol in the given character set such as the ASCII character set

50 of 142

Boolean data

Can be one of two possible values, True or False

51 of 142

Record

A data structure that groups a number of variables

52 of 142

Field

A variable that is part of a record

53 of 142

Enumerated type

An ordered set of values

54 of 142

Ordinal type

Defines an ordered set of values such as integer, character, Boolean and enumerated types; real numbers are not ordinal type

55 of 142

Set

A collection of values of the same ordinal type with no associated order

56 of 142

Boolean expression

Returns True or False

57 of 142

Boolean operators

NOT, AND, OR

58 of 142

Function

A routine that is called as part of an expression and returns a value

59 of 142

Procedure

A routine that may or may not return a value; a procedure call is a statement in its own right, not part of an expression

60 of 142

Routine interface

The part of the routine that lists the parameters used to pass data into and out of the routine

61 of 142

Callling by reference

The variable insiode the routine uses a reference to the same memory location. The reference is the variable passed as a parameter

62 of 142

Calling by value

The value of the calling code's variable is copied to the routine's parameter

63 of 142

Parameters in routines

Placeholders for variables supplied at call time

64 of 142

Array

An ordered set of data values of the same data type, grouped together and referred to by a single identifier (type of list)

65 of 142

Text file

A sequence of printable characters, organised line by line; it can be opened and read in a text editor

66 of 142

CSV file

Comma separated values file; a text file with one record per line and the fields of each record separated by commas

67 of 142

Binary file

Contains mostly unprintable characters

68 of 142

Linear search

Searching for something in a list by scanning each element of the list in a sequential manner

69 of 142

Bubble sort

Sorting elements in a one dimensional array by looking at pairs of elements at a time and switching them accordingly. Several passes may be needed to sort them entirely

70 of 142

Compilation error

When a program does not compile because of syntax errors or lexical errors

71 of 142

Run time error

When the program crashes or gets stuck in a loop

72 of 142

Logic error

When the programmer has made a mistake and the program output is incorrect

73 of 142

Validation check

A check made by a program to see that the data entered is reasonable

74 of 142

Robust system

A system that is unlikely to malfunction

75 of 142

Dry-run testing

Programmer follows through code manually without a computer using test data to check the algorithm or program code is correct

76 of 142

Black box testing

Carried out without looking at the program code. Carefully selected test data is used and expected results are compared to actual results

77 of 142

White box testing

Tests are devised to check each possible path through the program code

78 of 142

Range check

Checking the value entered is within a certain range

79 of 142

Format checks

To check whether a character is correctly either a lower case letter, upper case leter or number

80 of 142

Length checks

Checking whether length of a string is acceptable

81 of 142

Lookup checks

If the user is expected to enter a value that would already be stored in a certain database the program could lookup the value e.g. postcode entered to find the address of the user

82 of 142

Check digits

Digit calculated from other digits to ensure no errors are made whilst transmitting the data

83 of 142

Presence check

To ensure the user has entered a value where one is required

84 of 142

Normal data

Data within the boundaries set in a program

85 of 142

Boundary data

Where data above or below the value in treated differently e.g. orders above £100 get free delivery but is it true for exactly £100 or £100.01 or £101?

86 of 142

Erroneous data

Data that cannot be processed e.g. an empty string, error message should be correctly set up to deal with these values

87 of 142

Test plan

A list of planned tests with their data or referring to a set of test data

88 of 142

Evidence of testing

Something that shows the data entered and the result from the program e.g. a screenshot

89 of 142

Binary

A number system that uses two digits, 0 and 1

90 of 142

Bit

A binary digit, it can be 0 or 1

91 of 142

Nibble

A group of 4 bits

92 of 142

Byte

A group of 8 bits

93 of 142

Word

A group of bytes

94 of 142

Denary number system

A number system that uses the digits 0 to 9

95 of 142

Two's compliment

A system for representing negative numbers

96 of 142

Hexidecimal number sysem

A number system that uses the digits 0 to 9 and the letters A to F

97 of 142

ASCII (American standard code for Information Interchange)

7 bit code used to store text in a computer memory e.g. character A is coded 65: 1000001. Sometimes uses eigth bit

98 of 142

Unicode

16 bit code used to represent characters to store in a computer. Uses unique number for every character. The extended ASCII codes are incorporated into Unicode representations

99 of 142

Single parity bit

Uses either even or odd parity bit to check whether code is correct

100 of 142

Majority vote

Increase chances data reaches destination correctly by sending each bit 3 times and use majority vote to check what the bit is, error correction rather than just error detection

101 of 142

Hamming code

Code used to detect and correct code errors using parity bits

102 of 142

Gray code (Binary reflected Gray code- BRGC)

Code used to minimise errors, only one bit changed at a time between numbers

103 of 142

Pixel

The smallest addressable area or smallest solid block of colour in an image

104 of 142

Bitmap

Created when the pixels of an image are mapped to positions in memory that store binary codes representing the colour of each pixel

105 of 142

Resolution of a VDU screen

A quantity expressed as the number of pixels per row by the number of pixels per column on a screen

106 of 142

Resolution of an image

A quantity expressed as the number of dots/ pixels per inch or centimetre

107 of 142

Colour depth

The number of bits used to represent the colour of a single pixel in a bitmapped image

108 of 142

1 bit colour

Monochrome image. One bit allocated to each pixel, can either be black or white, 0 is white, 1 is black

109 of 142

12-bit direct colour

12 bits are allocated to each pixel, 4 for each of the R, G and B components enabling 4096 differeent colours (16x16x16)

110 of 142

True colour

24 bits are allocated to each pixel, 8 for each of the R, G and B components enabling the use of 16,777,216 different colours (256x256x256). Approaches the level at which the human eye can distinguish between colours in the real world

111 of 142

32 bit colour

Really true colour. Used because modern PCs have a word size of 32 bits or 64 bits. Extra 8 bits used for alpha channel (transparency) or ignored

112 of 142

Vector graphic

Records geometric and other information about the objects that make up an image

113 of 142

Object

A component of a vector graphic, such as a line, a rectangle or a circle

Squeezes data into a smaller number of bytes than the data would occupy in uncompressed

117 of 142

Run length encoding (RLE) (Lossless)

If a line of pixels all have the same colour they cann all be stored as two bytes, the first stating how many memory cells are included, the second holding the colour. Used by PCX, JPEG, and GIF image formats use RLE PNG does not.

118 of 142

Lossy compression

Compression method that discards least important information e.g. background quality is saved with reduced resolution. Image is different from original but close enough to it to still be useful

119 of 142

Analogue data

Data that varies in a continuous manner

120 of 142

Digital data

Data that takes the form of discrete values

121 of 142

Analogue signal

An electrical signal that varies in a continuous manner

122 of 142

Digital signal

An electrical signal with voltage changes that are abrupt or in discrete steps

Pulse code modulation; a process for coding sampled analogue signals by recording the height or each sample in a binary electrical equivalent

126 of 142

PAM

Pulse amplitude modulation; a process that samples analogue signals at regular time intervals and produces electrical pulses of height proportional to the original signals amplitude at the instant of sampling

127 of 142

Quantisation noise

The difference between the original amplitude and it's sampled value

128 of 142

Nyquist's theorem

Sample at a frequency at least twice the rate of the highest frequency in the sampled signal

129 of 142

MIDI

Musical Information Digital Interface; a way of representing the sound amde by an instrument

What needs to be done to change the current system? Is it outdated? Does it use a manual system where it could be using computers. Interview current system operators and people involved. Observe system working practices. Carry out questionairres etc.

136 of 142

System life cycle: Design

System needs to be designed acccording to analysis needs. Design needs to be detailed to allow specialists to produce exactly what needed

When parts are put together and the software has been installed, the whole system needs to be tested before it goes live.

139 of 142

System life cycle: Evaluation

Reflecting on how successful system is after it has become fully operational. Does it meet original system requirements and objectives? System may need to be updated again a few times, the cycle continues