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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly