Paper 2 Flashcards
Caching (3)
- temporary storage of program instructions or data
- already used once and may be needed again
- held within processor, fetched quicker, increasing processing speed
Concurrent Processing
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
Parallel processing
When more than one processor is executing separate instructions at once
Thinking concurrently
Identifying the parts of the problem that can be tackled at the same time
Thinking procedurally (3)
- Breaking down a problem
- identifying a number of smaller sub problems
- determining the order of events in a solution
Thinking logically (3)
- identify points where decision needed
- determining conditions of those decisions
- determining next step depending on outcomes
Thinking ahead
Identifying the preconditions of a system- the inputs, outputs and reusable components
Precondition
A requirement that must be met for a process to run
Abstraction
Representing essential features without including unnecessary details
Data mining
Analysing large amounts of data to extract information not offered by the raw data alone
Input
Any info(rmation) or data that is sent to a computer for processing
Output
Any info(rmation) or data that is processed and sent out by a computer
Backtracking (3)
- 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
Heuristics (2)
- ‘rule of thumb’ algorithm
- produces a valid, albeit suboptimal solution for a problem as an approximation
Branching
code selects one or more alternate paths based on the evaluation of a boolean expression
Iteration
where a set of structures is repeated either a fixed number of times or until a condition is met
Black box testing
used to test functionality without knowledge of the inner working of the system
White box testing
tests internal structures or workings of an application, as opposed to its functionality
Alpha testing
in-house testing by the developer before beta testing
Beta testing (2)
- testing by third party or end users to ensure it meets requirements and is functional
- helps test usability
Decomposition
Breaking down a problem into smaller sub problems
Problem recognition
identifying the most effective strategy to solve a problem
Performance modelling
simulating the behaviour of the system under different virtual users and system loads by mathematical approximation
Example of performance modelling
Stress testing
Passing a parameter by value (2)
- local copy of the data is used
- does not change the original data
Passing a parameter by reference (2)
- memory location of data is sent
- changes remain after the sub program exits
Record structure (2)
- store multiple values under one identifier
- data can be of different data types
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
Depth-first Traversal uses…
a stack
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
Breadth-first Traversal uses…
a queue
Parameter
an item of data that is passed to a subroutine when called and is used as a variable within a subroutine
Procedural programming language
high-level language that gives a series of instructions in a logical order
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