Computational thinking Flashcards

(14 cards)

1
Q

What is abstraction?

A
  • The removal of unnecessary details in a problem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is decomposition?

A
  • Breaking down a problem into smaller chunks / sub-problems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are pre-conditions?

A
  • Conditions that must be true for an algorithm to complete succesfully, without errors or crashing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How is abstraction used in the London Underground?

A
  • Travellers do not need to know the geographical layout of the train stations
  • They only need to know what order the stops are in
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a top-down design?

A
  • Involves breaking down a problem into major tasks and then breaking down these major tasks into smaller sub-problems
  • Each sub-problem is broken down until it can be solved using a single sub-routine or module
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the advantages of decomposing a problem?

A
  • Each sub-routine is easier to test and maintain
  • Each sub-routine is self-contained and well-documented, making it easier to find errors in code and fix problems as they arise
  • Convenient to reuse sub-routines
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a hierarchy chart?

A
  • An example of a diagram used to show problem decomposition
  • Each problem is divided into multiple sub-problems, which are then divided into further sub-problems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are structured programming techniques?

A
  • Sequence: one statement after another
  • Selection: decision making, if/else/elif
  • Iteration: loops, for/while/do while
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the point of structured programming techniques?

A
  • To aid readability, understanding and maintainability of code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is concurrent and parallel computing?

A
  • Concurrent computing allows multiple processes/tasks to run on a single processor by giving each process a fraction of time and control over the processor before swapping to another process
  • Parallel processing is when multiple processes are run at the same time over multiple processor cores to enable faster computations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are dependencies?

A
  • Tasks that rely on other tasks in order to either start or complete
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is concurrent processing?

A
  • Allows multiple processes to run on a single processor
  • Gives each process a fraction of time and control over the processor before swapping to another process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pros and cons of concurrent processing

A
  • Pros: number of tasks completed in a timeframe increases, time spent waiting for user input is minimised by swapping to another task
  • Cons: if large numbers of processes are running that involve high quantities of computation, they will take longer as they only get allocated a specific time frame
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Pros and cons of parallel processing

A
  • Pros: can speed up tasks by splitting processes over several processors, 3d objects can be rendered quickly by splitting over processors, multiple different programs can run at the same time using different processors
  • Cons: different tasks on different processors may need to communicate leading to delays, some tasks may run faster on a single processor (optimised)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly