2.1 Computational Thinking Flashcards

1
Q

Computational Thinking

A

The ability to think logically about a problem and apply techniques for solving it

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

Abstraction

A

Devising a model to represent reality by removing all irrelevant details

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

Thinking Logically

A

Identifying the points in a program where a decision has to be made

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

Thinking logically what to look out for

A

If, else if, switch, while, fpr

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

Thinking Concurrently

A

Involves thinking about which sections of a process can be carried out at the same time

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

Concurrent Processing

A

Giving a slice of processor time to give tasks the illusion of parallel processing
One process does not have to finish before the other starts

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

Concurrent Processing Examples

A

numerical weather predictions, networks such as an airline reservation system

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

Concurrent Processing Advantages

A

+ User can interact with applications while other tasks run
+ Tasks requiring preconditions can wait until they hold
+ Programs can make better use of resources

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

Concurrent Processing Disadvantages

A
  • Tasks shouldn’t be able to wait for each other indefinitely (deadlock)
  • Can be expensive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Caching

A

Storing a temporary copy of frequently accessed data, instructions or websites so they can be accessed quicker

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

Abstraction by generalisation

A

Grouping things together based on common characteristics, commonly used in OOP

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

Data abstraction

A

Where details about how a data structure is used are separated from the implementation
For example we know a stack is LIFO and the operations that can be carried out on it but not how it is implemented

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

Preconditions

A

Requirements which must be met before a program is executed

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

Prefetching

A

Where an algorithm predicts which instructions are likely to soon be fetched and caches the instructions and data

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

Problem decomposition

A

Breaking a large, complex problem into smaller subproblems continually

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

Reusable components

A

Writing a program using modular programming to use functions and procedures that can be called more than once

17
Q

Caching main disadvantage

A

The data may change as it is being saved, meaning that the copy is stale

18
Q

Thinking ahead

A

Identifying the inputs and outputs of a program or sub-program