2.1 Computational thinking Flashcards

1
Q

What is meant by the term ‘abstraction’ (2)

A

Removal of unnecessary detail…
… to allow programmers to focus on key features of the problem…
…simplifies a complex problem

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

Give three benefits of using abstraction when writing a program

A

Reduces programming time
Reduces complexity of code
Reduces amount of computational power
Make the problem easier to solve

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

What is thinking ahead

A
  • Recognise the required input and output
  • preconditions
  • caching
  • reusable program components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is meant by ‘concurrent processing’ (2)

A

Processes happen at the same time.
One process can start before another one finishes.
Each processes is given a slice of processor time.

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

Is concurrent processing same as parallel processing?

A

No.
Concurrent processing is when tasks are given a slices of processor time, to give the illusion that tasks are being performed simultaneously. - in reality they are executed sequentially.
Parallel processing is when multiple processors are used to complete more than one task simultaneously.

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

Benefits of concurrent processing (2/3)

A

More efficient processor use
Tasks requiring preconditions can wait and then resume execution
User is able to interact with the computer while other tasks are running

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

Drawbacks of concurrent processing

A

Can take longer to complete when large numbers of users or tasks are involved.
Overhead
Not all tasks are suited to being broken up and performed concurrently.

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