2.1 Algorithms Flashcards

1
Q

What is abstraction? (2)

A

Separating ideas (1) from reality (1) Using only relevant detail (1) eg using symbols to show real life (1)

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

Why do we need abstraction? (2)

A

Computers can only use binary (1) so all information must be abstracted into a quantitative form (1)

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

What is a precondition? (2)

A

A state or form data needs to be in (1) in order to be processed by a function (1) eg a variable may need to be an integer to be multiplied.

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

What is caching? (2)

A

Data that has been used is stored in cache / ram (1) so it is quicker to use again (1)

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

What are the downsides of caching? (2)

A

It requires space in memory (1) that could be used for other things (1)

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

What are the benefits of reusable programming components? (2)

A

The code can be used in multiple places in the program (1) the code can be split into small components (1) the components can be edited and tested independently (1) the components can be used in future projects (1)

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

What is concurrent processing? (3)

A

Multiple processes being executed at the same time or appearing to execute at the same time (1) giving processes a slice of processor time (1) having multiple processors each carrying out a different process (1)

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

What are the benefits of concurrent processing? (2)

A

Multiple users could use a processor at the same time (1) multiple tasks can be completed simoultaneously (1)

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

What are the drawbacks of concurrent processing? (2)

A

There may be collisions where two processes try to edit the same data at the same time (1) Individual tasks may be completed more slowly(1)

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

Benefits of abstraction (4)

A

Reduced development time (1) as factors can detract from the program are ignored (1). Reduces complexity of code (1) so it can run on lower spec computers (1)

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

Benefits of visualisation (2)

A

Visualisations benefit humans rather than computers (1). Visualisations present the information in a simpler form to understand (1). Visualisations can best explain complex situations (1).

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

Reasons why abstraction is needed (2)

A

Reduce processing/memory requirements (1). Simplify programming (1).

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

Explain and evaluate the use of decomposition (9)

A

Splits problem into sub-problems (1) until each problem can be solved (1). Allows the use of divide and conquer (1). Increase speed of production (1), assign areas to specialties (1), allows use of pre-existing modules (1) and re-use of new modules (1), can ensure subprograms can interact correctly (1).

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

Adavantages of using reusable components (4)

A

Modules are tested (1) so more reliable programs (1). Less development time (1) as programs can be shorter (1) and modules can be shared (1)

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

Caching AO1 for 9 markers

A

Caching is when previously used data is stored in a location (1) that can be accessed quickly (1) to speed up retrieval if needed in the future (1)

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

Concurrent Processing AO1 for 9 markers

A

Concurrent processing is when several processes work simultaneously to solve a problem (1).

17
Q

Caching AO2 for 9 markers

A

Search for previously searched for data items in a faster secondary storage device/RAM (1). Speed up access for that item (1).

18
Q

Concurrent Processing AO2 for 9 markers

A

Computer would have multiple processors (1). Each searching part of the data structure at one time (1). The n processors could mean increase of up to 1/n of time but realistically less than that (1). Only useful if using linear search. Bianry search can’t be performed concurrently (1).

19
Q

Concurrent processing when multiple users need to log into the system simultaneously (3)

A

Game could have multiple requests to the server at the same time (1). Server needs to respond quickly (1). Having multiple processors handling different requests would increase response time (1).