unit 10 Flashcards

1
Q

define computational thinking

A

the ability to think logically about a problem and apply techniques to solve it

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

what is abstraction?

A

the process of removing unnecessary details of a problem to focus on the important features to implement in a solution

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

what are some real life examples of abstraction?

A

a car simulator, a representation of a building, a map of a train route

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

what are preconditions?

A

conditions that must be true for an algorithm to complete successfully without errors or crashing

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

what are some examples of preconditions?

A

parameter list must not be empty
data needs to be of the same type

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

what is the process for defining preconditions?

A

Name
Inputs
Outputs
Preconditions

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

what are the advantages of specifying preconditions?

A

if provided in documentation, then the developer is aware of what checks are required
allows the subroutine to be reusable and put in a library to be called whenever

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

what is caching?

A

cache is tiny storage on a processor used to temporarily store frequently used data

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

what is web caching?

A

HTML pages and images most recently looked at are stored for faster access and saving bandwidth by not requiring them to be redownloaded each time

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

what is the need for reusable components?

A

commonly used subroutines are bundled into libraries
already tested
save time with new projects

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

what is decomposition?

A

the process of breaking down into smaller sub problems until each module can be tackled individually

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

what is a top down design?

A

breaking down problem into smaller ones until each one is unable to be broken down further

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

what is the goal of a top down design?

A

to structure a program into small manageable tasks

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

what is the advantage of decomposition?

A

each subroutine is simpler to test and maintain (unit testing)
each subroutine is self-contained and well documented it is easier to find errors in code
can reuse the subroutines

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

what is unit testing?

A

checking the smallest building blocks of your code to ensure they work perfectly

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

what is a hierarchy chart?

A

a diagram used to show problem decomposition
they show how module and subroutines relate to each other like a tree structure

17
Q

what is sequence?

A

one statement after another

18
Q

what is selection?

A

decision making

19
Q

what is iteration?

20
Q

what are the purpose of programming techniques?

A

to aid the readability, understanding and maintainability of code

21
Q

what do decisions affect?

A

decisions are Boolean conditions in selection or iteration which affect the flow of control in a program

22
Q

what is the difference between branching and iteration?

A

branching involves directing the flow of control of a program dependent on a Boolean condition
iteration involves repeating a sequence of instructions based on a stopping condition

23
Q

what is concurrent computing?

A

allows multiple processes to run on a single processor by giving each process a fraction of time and control over the processor before swapping processes

24
Q

what is parallel computing?

A

where multiple processes are run at the same time over multiple processor cores to enable faster execution

25
what is a batch program?
executing a series of computer program or tasks without requiring user interaction during their execution
26
what are the advantages of concurrent processing?
increased program throughput as the number of tasks completed in a timeframe are increased time spent waiting for user input is minimised by swapping to another task
27
what are the disadvantages of concurrent processing?
if large numbers of processes are running, high computation is needed, these processes will take longer to complete as each is allocated a certain time slice overhead in coordinating and switching between processes
28
what are the advantages of parallel processing?
when performing repetitive calculations on large data, can speed up performance by splitting processes over processors graphical processing units can render 3D objects quickly by splitting the computations
29
what are the disadvantages of parallel processing?
different processors running programs at the same time may need to communicate leading to overhead some tasks may run faster or be optimised to run on a single processor rather than multiple