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
Passing a parameter by value (2)
- local copy of the data is used - does not change the original data
26
Passing a parameter by reference (2)
- memory location of data is sent - changes remain after the sub program exits
27
Record structure (2)
- store multiple values under one identifier - data can be of different data types
28
Depth-first Traversal (2)
- 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
29
Depth-first Traversal uses...
a stack
30
Breadth-first Traversal
visits all nodes directly connected to the root node then visits all nodes directly connected to each of those nodes and so on
31
Breadth-first Traversal uses...
a queue
32
Parameter
an item of data that is passed to a subroutine when called and is used as a variable within a subroutine
33
Procedural programming language
high-level language that gives a series of instructions in a logical order
34
Breakpoints (3)
- 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
35
Stepping (2)
- sets the program to run line by line - can slow down the watch execution and find the point where an error occurs
36
Visualisation
using a visual representation of an algorithm or data structure to translate a problem and its soliton to human readable form
37
Problem reduction
generalising a problem to one that has already been solved
38
Divide and conquer (2)
- 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
Example of divide and conquer:
Merge sort, binary search
40
Reusable program components (2)
- components that have already been written, debugged and tested - save development time
41
What always returns a value?
(a) function(s)
42
Recursion
a programming subroutine where a section of code calls itself until a base case is met
43
Array (2)
- a static data structure that has a singular identifier - elements are accessed by an index and holds data of the same data type
44
Linked list (3)
- 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
Class
a template defining methods and attributes used to make objects
46
Quick sort (4)
- 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
Best case time complexity of a search algorithm
1
48
Best case time complexity of bubble sort
n
49
Best case time complexity of insertion sort
n
50
Best case time complexity of merge sort
n logn
51
Best case time complexity of quick sort
n logn
52
Average case time complexity of linear search
n
53
Average case time complexity of binary search array
log n
54
Average case time complexity of binary search tree
log n
55
Average case time complexity of hashing
1
56
Average case time complexity of breadth/depth first traversal of graph
Vertices + Edges
57
Average case time complexity of bubble sort
n^2
58
Average case time complexity of insertion sort
n^2
59
Average case time complexity of merge sort
n logn
60
Average case time complexity of quick sort
n logn
61
Worst case time complexity of linear search
n
62
Worst case time complexity of binary search array
logn
63
Worst case time complexity of binary search tree
n
64
Worst case time complexity of hashing
n
65
Worst case time complexity of breadth/depth first traversal of graph
Worst case time complexity of breadth/depth first traversal of graph
66
Worst case time complexity of bubble sort
n^2
67
Worst case time complexity of insertion sort
n^2
68
Worst case time complexity of merge sort
n logn
69
Worst case time complexity of quick sort
n^2
70
Space complexity of bubble sort
1
71
Space complexity of insertion sort
1
72
Space complexity of merge sort
n
73
Space complexity of quick sort
logn
74
Global Variable
A variable declared in the main program which exists outside any of the subroutines, but can be used anywhere in the program
75
Local variable
A variable declared within a subroutine of a program, which only exists and can be used within that subroutine
76
OOP advantages
abstraction of real world problems, classes for each type of thing modelled and objects for each instance of these
77
Inheritence advantages
one class coded and code used as base for similar objects, PP doesn't support this
78
Encapsulation advantages
prevents unexpected changes to attributes, data security
79
Polymorphism advantages
reduce volume of code
80
Procedural Programming advantages
divided between team with each team tackling a different subroutine
81
OOP
involves solutions being constructed by means of objects that interact with each other (modular)
82
Object
has methods and attributes (instantiated from a class)
83
Inheritence
a class takes on the methods and attributes from a parent class while also having its own
84
Polymorphism
a method where variables behave differently according to the context where they are used
85
Procedural Programming
breaks a solution into subroutines, which are rebuilt and combined to form a program