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