2.1 Computational Thinking Flashcards

1
Q

Describe Abstraction

A

The process of separating ideas from reality: hiding irrelevant detail and showing relevant detail

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

What is the need for abstraction?

A

Abstraction means it is easier and less confusing to model and display situations.

The removal of detail to highlight only relevant parts helps with understanding.

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

What are some examples of devising an abstract model?

A

Colour coding

Use of icons/graphics

Labels

Key/legend

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

What is the benefit of thinking ahead?

A

This allows you to maximise the efficiency of code and programs, and minimise mistakes and errors.

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

What are the 4 common shapes of a flow diagram?

A

Oval: Start / Stop

Rectangle: process

Diamond: decision

Parallelogram: Input / Output

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

How do pre-conditions effect a solution?

A

The conditions that already exist which could affect a problem’s solution will need to be determined before starting to find out the limitations of the solution.

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

Explain reusable program components in the context of thinking ahead.

A

Reusing code saves time, resources, and reduces redundancy.

It is good to think ahead to which software parts could become reusable.

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

Explain caching and prefetching in the context of thinking ahead.

A

Caching:

Data and instructions which were removed from the disk to main memory can be kept in memory in case the code is needed again.

This increases the speed of the code running as less distance needs to be travelled to reach the code.

Prefetching:

An instruction or piece of data can be requested before it is actually needed and stored in cache registers.

This, however, requires complicated algorithms to predict the code needed.

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

Describe concurrency.

A

The situation where several things are happening simultaneously.

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

Describe concurrent processing.

A

When more than one process is being run from a program at once, with each being given a slice of processing time in turn.

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

What is the difference between parallel processing and concurrent processing?

A

Parallel: when more than one processor is executing separate instructions at the same time

Concurrent: when a single processor is executing separate instructions at the same time

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

What are the benefits of concurrent processing over parallel processing?

A
  • There is increased program throughput (number of tasks completed in a set period)
  • Processor time is not wasted
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the benefits of parallel processing over concurrent processing?

A
  • Several tasks can be performed simultaneously
  • Huge performance increase for graphical processing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the downsides of concurrent processing over parallel processing?

A
  • Can potentially slow down if many users request similar actions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the downsides of parallel processing over concurrent processing?

A
  • Greater complexity with coordinating using more than processor or core
  • Some programs aren’t particularly compatible with parallel processing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly