2.1.2 (Thinking Ahead) Flashcards

(25 cards)

1
Q

What do you typically start with when designing a new system?

A

Deciding what the system needs to output

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

What are some types of outputs?

A

-Visual
-Audio
-Haptic feedback (vibration, forces & motion)
-Data to be input into another process or system

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

What are some examples of generic inputs and outputs?

A

Inputs:
-microphone
-keyboard
-sensors (e.g. light sensor)

Outputs:
-screens
-printouts
-speakers
-motors

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

What are preconditions?

A

Conditions that already exist and could affect how you devise a solution

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

What are common preconditions to consider?

A

-Cost
-Time available
-Quantities (e.g. number of people invited to an event)
-Location
-Preferences
-Target audience
-Legal requirements
-Competition

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

What are the benefits of reusing code?

A

-It makes code more efficient (one piece of code can be used many times)
-Takes less time to code a program
-Less likely to have errors as code is not written multiple times
-Makes it easier to maintain a program

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

What are the drawbacks of reusing code?

A

-Old code may not make the best use of new architecture
-New assets may not be compatible with the older algorithms
-May be inefficiencies in the old code (bugs or glitches)

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

What are subroutines?

What are some examples of subroutines?

A

Blocks of code that perform a task and can be reused multiple times by calling them and supplying them with the data they need.

For example: procedures, functions and methods

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

What are software libraries?

A

They contain prewritten and protested code, available for programs to use

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

What is an example of a software library?

A

Random library

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

What are library routines (within software libraries)?

A

Small pieces of code that perform common tasks (usually functions)

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

What are some examples of library routines?

A

Searching / Sorting algorithms

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

What are the benefits of software libraries?

A

-Routines are already compiled, so they are tested and error-free
-It saves work for programmers, shortens overall development time and reduces cost
-Routines may be used multiple times
-Allows the programmer to use other programmers’ expertise
-May require fewer developers to work on a project

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

What does API stand for?

A

Application Programming Interface

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

What is API?

A

A set of rules, protocols and tools that allow different software applications to communicate

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

What is API an example of?

A

External code reuse (reselling components to a third party)

17
Q

What does API allow?

A

Systems being linked to (e.g. a social media profile) to make certain procedures and functions available to other developers

18
Q

What is caching?

A

The temporary storage of program data

19
Q

What does caching result in?

A

Shorter retrieval times as instructions don’t need to be fetched from secondary storage, which is slower

20
Q

What is prefetching?

A

A more advanced version of caching which involves data being requested from main memory by the processor before it is required

21
Q

What is the benefit of prefetching?

A

It is quicker to access items from registers/ cache and they are located on/ near the processor

22
Q

What is the drawback of prefetching?

A

Clever algorithms need to be designed to predict, with a high degree of certainty, that an instruction or piece of data will be required soon

23
Q

Why is caching used with web pages?

A

To reduce the number of requests from the client back to the web server and vice versa (unnecessary network traffic can be avoided)

24
Q

What is the benefit of caching?

A

Improves speed and efficiency

25
What are the drawbacks of caching?
-Caching algorithms can be complicated to implement -If the wrong data is fetched & cached, it has to be flushed (removed) -Maintaining correct sequences of instructions/ data items in these circumstances can be problematic