4.4.1 - ToC (Abstraction and automation) Flashcards

1
Q

What does Abstraction mean

A

Removing unnecessary details from a problem, only showing details that are important in context, making a comlex problem simpler

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

What is the need for abstraction

A
  • It allows for only the most important details of a problem to be shown, espescially for interfaces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Representational Abstraction

A

A representation arrived at by removing unnecessary details

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

What is Abstraction by Genralisation

A

a grouping by common
characteristics to arrive at a hierarchical
relationship of the ‘is a kind of’ type.

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

What happens as you go up a abstraction generalisation hierarchy

A
  • You generalise chracteristics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What happens as you go down a abstraction generalisation hierarchy

A
  • You specialise chracteristics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How is Abstraction by Generalisation applied in OOP

A

By the use of Inheritance

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

What is Information Hiding

A

The process of hiding all of the details of an object that do not contribute to its essential characteristics

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

How is information hidiing used practically

A

Most systems hide their complexity behind an interface as it provides abstraction of what lies behind, like in an OS which uses a GUI that allows the user to interact with the computer system without any knowledge of its work around

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

What is the advantage of Information hiding and Interfaces

A

1 - Interfaces using information hiding allows the machine to be changed or upgraded without the need to modify the interface

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

What is Procedural Abstraction

A

The result of abstracting away the actual values used in any particular computation which creates procedure

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

What is Functional Abstraction

A

Abstraction with disreagard to the computational method which creates a function

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

What are the only three requiremnts for a function

A

the number, order and type of inputs to get the results

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

What is the key distinction between Functional and Procedural Programming

A

In functional the particular computational method is hidden

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

What is meant by data abstraction

A

a methodology that enables
us to isolate how a compound data object is
used from the details of how it is constructed.

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

What are the benfits of data abstraction

A

It allows us to not only make more complex data types and structure but therefore also use OOP to program

17
Q

What is meant by problem abstraction/reduction

A

where details from a problem are removed until the problem
is represented in a way that is possible to solve
because the problem reduces to one that has
already been solved.

18
Q

What is meant by (Procedural Decomposition)

A

breaking a problem into a number of subproblems, so that each sub-problem
accomplishes an identifiable task, which might
itself be further subdivided.

19
Q

What are the 2 main approaches for Decomposition

A
  • Top-down approach
  • Divide and Conquer
20
Q

What is the essence of composition

A

The process of combining pre-existing components of a problem that are already proven to work

21
Q

What is meant by automation

A

The process of taking a model and implementing a solution to solve a problem

22
Q

What are the 4 steps to complete an automation

A
  • Create the algorithm
  • Implement the algorithm in program code
  • implement the models in data structures
  • excecuting the code
23
Q

What is the point of automation

A
  • It helps build clean abstract modlels of real world phenomena
  • It helps determine the minimum and most effiecient amount of detail needed to solve a problem