Paper 2 Flashcards

1
Q

Caching (3)

A
  • temporary storage of program instructions or data
  • already used once and may be needed again
  • held within processor, fetched quicker, increasing processing speed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Concurrent Processing

A

When more than one process is running from a program at once, with each process in turn being given a slice of the processor time

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

Parallel processing

A

When more than one processor is executing separate instructions at once

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

Thinking concurrently

A

Identifying the parts of the problem that can be tackled at the same time

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

Thinking procedurally (3)

A
  • Breaking down a problem
  • identifying a number of smaller sub problems
  • determining the order of events in a solution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Thinking logically (3)

A
  • identify points where decision needed
  • determining conditions of those decisions
  • determining next step depending on outcomes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Thinking ahead

A

Identifying the preconditions of a system- the inputs, outputs and reusable components

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

Precondition

A

A requirement that must be met for a process to run

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

Abstraction

A

Representing essential features without including unnecessary details

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

Data mining

A

Analysing large amounts of data to extract information not offered by the raw data alone

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

Input

A

Any info(rmation) or data that is sent to a computer for processing

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

Output

A

Any info(rmation) or data that is processed and sent out by a computer

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

Backtracking (3)

A
  • refined brute force algorithm
  • methodically visits each paths and builds a solution based on the found to be correct
  • if path found to be invalid, algorithm backtracks to previous stage and visits alternative path
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Heuristics (2)

A
  • ‘rule of thumb’ algorithm
  • produces a valid, albeit suboptimal solution for a problem as an approximation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Branching

A

code selects one or more alternate paths based on the evaluation of a boolean expression

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

Iteration

A

where a set of structures is repeated either a fixed number of times or until a condition is met

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

Black box testing

A

used to test functionality without knowledge of the inner working of the system

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

White box testing

A

tests internal structures or workings of an application, as opposed to its functionality

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

Alpha testing

A

in-house testing by the developer before beta testing

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

Beta testing (2)

A
  • testing by third party or end users to ensure it meets requirements and is functional
  • helps test usability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Decomposition

A

Breaking down a problem into smaller sub problems

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

Problem recognition

A

identifying the most effective strategy to solve a problem

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

Performance modelling

A

simulating the behaviour of the system under different virtual users and system loads by mathematical approximation

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

Example of performance modelling

A

Stress testing

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

Passing a parameter by value (2)

A
  • local copy of the data is used
  • does not change the original data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Passing a parameter by reference (2)

A
  • memory location of data is sent
  • changes remain after the sub program exits
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Record structure (2)

A
  • store multiple values under one identifier
  • data can be of different data types
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Depth-first Traversal (2)

A
  • traverses a tree or graph from the parent node down to its left child node or right child node when left is unavailable
  • when there are no child nodes the algorithm ‘visits’ the node and backtracks to the parent node
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Depth-first Traversal uses…

A

a stack

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

Breadth-first Traversal

A

visits all nodes directly connected to the root node then visits all nodes directly connected to each of those nodes and so on

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

Breadth-first Traversal uses…

A

a queue

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

Parameter

A

an item of data that is passed to a subroutine when called and is used as a variable within a subroutine

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

Procedural programming language

A

high-level language that gives a series of instructions in a logical order

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

Breakpoints (3)

A
  • used to test that it works up to/at specific points
  • checks variable contents at specific points
  • can set a points where the program stops running
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Stepping (2)

A
  • sets the program to run line by line
  • can slow down the watch execution and find the point where an error occurs
36
Q

Visualisation

A

using a visual representation of an algorithm or data structure to translate a problem and its soliton to human readable form

37
Q

Problem reduction

A

generalising a problem to one that has already been solved

38
Q

Divide and conquer (2)

A
  • recursion used to repeatedly divide a task into subtasks of a similar type until an easy to solve subtask is reached
  • the individual subtasks are combined to provide solution to main task
39
Q

Example of divide and conquer:

A

Merge sort, binary search

40
Q

Reusable program components (2)

A
  • components that have already been written, debugged and tested
  • save development time
41
Q

What always returns a value?

A

(a) function(s)

42
Q

Recursion

A

a programming subroutine where a section of code calls itself until a base case is met

43
Q

Array (2)

A
  • a static data structure that has a singular identifier
  • elements are accessed by an index and holds data of the same data type
44
Q

Linked list (3)

A
  • dynamic data structure that stores the item and a pointer for each item
  • the pointer gives the next location of the next node
  • nodes are not stores contiguously
45
Q

Class

A

a template defining methods and attributes used to make objects

46
Q

Quick sort (4)

A
  • choose a pivot
  • compare each element in the pivot
  • put items less then pivot in the left sublist and larger then pivot in the right sublist
  • choose a pivot in each sublist and repeat the process until each item becomes a pivot
47
Q

Best case time complexity of a search algorithm

A

1

48
Q

Best case time complexity of bubble sort

A

n

49
Q

Best case time complexity of insertion sort

A

n

50
Q

Best case time complexity of merge sort

A

n logn

51
Q

Best case time complexity of quick sort

A

n logn

52
Q

Average case time complexity of linear search

A

n

53
Q

Average case time complexity of binary search array

A

log n

54
Q

Average case time complexity of binary search tree

A

log n

55
Q

Average case time complexity of hashing

A

1

56
Q

Average case time complexity of breadth/depth first traversal of graph

A

Vertices + Edges

57
Q

Average case time complexity of bubble sort

A

n^2

58
Q

Average case time complexity of insertion sort

A

n^2

59
Q

Average case time complexity of merge sort

A

n logn

60
Q

Average case time complexity of quick sort

A

n logn

61
Q

Worst case time complexity of linear search

A

n

62
Q

Worst case time complexity of binary search array

A

logn

63
Q

Worst case time complexity of binary search tree

A

n

64
Q

Worst case time complexity of hashing

A

n

65
Q

Worst case time complexity of breadth/depth first traversal of graph

A

Worst case time complexity of breadth/depth first traversal of graph

66
Q

Worst case time complexity of bubble sort

A

n^2

67
Q

Worst case time complexity of insertion sort

A

n^2

68
Q

Worst case time complexity of merge sort

A

n logn

69
Q

Worst case time complexity of quick sort

A

n^2

70
Q

Space complexity of bubble sort

A

1

71
Q

Space complexity of insertion sort

A

1

72
Q

Space complexity of merge sort

A

n

73
Q

Space complexity of quick sort

A

logn

74
Q

Global Variable

A

A variable declared in the main program which exists outside any of the subroutines, but can be used anywhere in the program

75
Q

Local variable

A

A variable declared within a subroutine of a program, which only exists and can be used within that subroutine

76
Q

OOP advantages

A

abstraction of real world problems, classes for each type of thing modelled and objects for each instance of these

77
Q

Inheritence advantages

A

one class coded and code used as base for similar objects, PP doesn’t support this

78
Q

Encapsulation advantages

A

prevents unexpected changes to attributes, data security

79
Q

Polymorphism advantages

A

reduce volume of code

80
Q

Procedural Programming advantages

A

divided between team with each team tackling a different subroutine

81
Q

OOP

A

involves solutions being constructed by means of objects that interact with each other (modular)

82
Q

Object

A

has methods and attributes (instantiated from a class)

83
Q

Inheritence

A

a class takes on the methods and attributes from a parent class while also having its own

84
Q

Polymorphism

A

a method where variables behave differently according to the context where they are used

85
Q

Procedural Programming

A

breaks a solution into subroutines, which are rebuilt and combined to form a program