2.2.2 Flashcards
Computational methods (9 cards)
1
Q
Problem Recognition
A
- Stakeholders say what they need from the solution.
- This information is used to produce a clear list of system requirements and a
definition of the problem. - We may consider the strengths and weaknesses of a current system.
- We may consider the required inputs, outputs and the volume of stored data.
2
Q
Problem Decomposition
A
- The problem is broken down into smaller
subproblems. - This is repeated until each subproblem can be represented using a single subroutine.
- This reduces the complexity of the problem and makes it easier to solve.
- It enables programmers to see which areas can be solved using pre-existing libraries or modules.
- It makes the project easier to manage.
- Subproblems can be assigned to different specialist teams or individuals.
- Modules can be designed and tested individually before being combined.
- It makes it possible to develop modules in
parallel and therefore finish more quickly. - It is easier to debug the code and locate errors.
3
Q
Divide and Conquer
A
- A problem solving technique with three parts.
- Divide - halve the size of the problem with each iteration.
- Conquer - solve the subproblems.
- Merge - combine the solutions.
- It is applied in binary search, quick sort and merge sort.
- It is a quick way to simplify complex
4
Q
Abstraction
A
- Represents real world entities using computational elements.
- Excessive details are removed to simplify
the problem. - This may then match a problem which
has previously been solved. - Existing modules, functions or libraries
can then be used to solve the problem. - Levels of abstraction divide a complex
problem into smaller parts. - Different levels can be assigned to teams
whilst hiding details of other layers. - This makes the project easier to manage.
- Abstraction by generalisation groups together sections with similar functionality.
- This allows segments to be coded together, saving time.
5
Q
Backtracking
A
- Uses algorithms, often recursively.
- Builds a solution methodically.
- Based on paths which have been visited and found to be correct.
- The algorithm backtracks to the previous stage if an invalid path is found.
6
Q
Data Mining
A
- Identifies patterns or outliers in large data sets, often collected from multiple sources.
- These data sets are known as big data.
- It spots correlations between data and other trends which might not be easy to see.
- Can be used to make predictions about the future.
- A useful tool to assist in business and marketing.
7
Q
Heuristics
A
- A non optimal or rule of thumb approach.
- Used to find an approximate solution to a problem.
- Used where the standard solution takes too long.
- Does not produce a 100% accurate or complete solution.
- Provides an estimate for intractable problems.
- Performance Modelling
- Mathematical method to test loads on systems.
- A cheaper and less time consuming method of testing applications.
- Used for safety critical systems where a trial run can’t be carried out.
8
Q
Pipelining
A
- Modules are divided into individual tasks.
- Tasks are developed in parallel.
- Allows faster completion.
- The output of one process is often the input of another.
- Often used in RISC processors, which perform different parts of the Fetch-Decode-Execute cycle at the same time.
9
Q
Visualisation
A
- Presenting data using charts or graphs.
- Makes it easier for humans to understand.
- Allows trends or patterns to be more easily identified.