2.2.2 - Computational Methods Flashcards

Component 2

1
Q

What are computational methods?

A

Techniques used to solve a problem using computational thinking

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is divide and conquer?

A
  • Splits a big problem into smaller parts.
  • Examples: Merge Sort | Quick Sort | Binary Search

Divide: Break the given problem into sub problems of same type.
Conquer: Recursively solve these sub problems
Combine: Appropriately combine the answers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is problem decomposition and what benefits does it bring?

A
  • Splitting a problem down into smaller sub-problems
  • Creates a more manageable problem
  • Can lead to the development of subroutines/modules
  • Can tackle each sub problem independently
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is data mining?

A
  • Turning large quantities of data into useful information
  • Finding patterns within large quantities of information
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some example insights that might be gained when a supermarket uses data mining?

A
  • Identify customer trends in order to identify offers to send customers
  • Identify which stores are making the most profit
  • Identify which items are not selling well to replace them with other items
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define problem recognition

A

Identifying there is a problem to be solved and what the problem is

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define and give examples of performance modelling

A

Simulate systems to test the behaviour of them before it is used under load.

Examples
* Testing the solution with many simultaneous transactions, often called stress testing
* Testing it with a large amount of data in the database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define and give examples of visualisation

A
  • Visualisations benefit humans rather than computers
  • Visualisations present the information in a simpler form to understand
  • Visualisations can best explain complex situations

Examples

  • Graphs
  • Arrays shown as grids
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define and give examples of backtracking

A

A methodical way of trying out different sequences until you find one that leads to a solution. Solving a maze is a typical problem of this kind.

Backtracking in Depth-First Tree Traversal

When a node does not have any node to visit e.g. D, the algorithm goes back to the previous visited node e.g. B to check for further unvisited nodes to visit e.g. H

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe Heuristics and their purpose

A
  • Used to speed up process of finding solution
  • Rule of thumb approach which is used when unfeasible to analyse all eventualities. This leads to a “good enough” result although it is not 100% reliable.

Example Uses
* Used in the A* algorithm (more efficient than Dijkstra’s)
* Heuristics in Virus scanning: used to see if a file is displaying the signs of a virus rather than knowing it is a virus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is pipelining?

A

Concurrent processing of multiple instructions – increases speed of the program

Would allow one instruction to be fetched as the previous one is being decoded and the one before that is being executed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What issues does pipeling face?

A

Struggles with code that uses branching, as wrong instruction may be brought, meaning flush would be used.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly