2.1.1 Thinking Abstractly Flashcards

Abstraction Types Pros and Cons of Abstraction Computational Thinking

1
Q

What is computational thinking?

A

an ability to think logically about a problem and apply techniques for solving it
formulating a problem in a way that it can be solved computationally

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

What are the techniques used in computational thinking?

A

Decomposition
Abstraction
Problem/Pattern Recognition

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

What is abstraction?

A

Model of a complex system that includes only the fundamentals to providing a solution to a problem.

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

Why do we need abstraction?

A

Makes it easier to solve the problem by creating a clearer view. Also the solution becomes easier to maintain, modify and view as people are not distracted by excessive details.

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

What is an example of abstraction? - computing example

A

High Level Programming Languages - removes need to know where variables are stored and other implementation. Overall less time consuming and easier.

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

What are the 4 specific types of abstraction I have to know?

A

Procedural
Functional
Data
Problem

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

What is procedural abstraction? Give an example

A

Act of removing the actual values used in particular computation and leaving the procedure.
(a + b) x c

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

What does procedural abstraction require in programming?

A

Knowledge of arguments to be passed onto procedure.

This means order data type and name

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

What is functional abstraction? give an example

A

The act of disregarding the method and focusing only on values/results. (this means inputs and outputs)
Black Box Testing

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

What is an input?

A

Information relevant and necessary for problem to be solved

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

What is an output?

A

Solution/result to a problem

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

What is data abstraction?

A

details of data types and implementation of data are hidden. The only thing necessary is how to get and use data.

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

What does data abstraction mean for the client?

A

the client code doesn’t need to be changed

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

Another name for problem abstraction?

A

problem reduction

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

What is problem reduction/abstraction?

A

The act of breaking down a complicated problem so that it becomes represented in a way that makes it easier to solve. - (often reduces it to a similar problem that already has a solution)

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

What is the act of automation?

A

Putting all pieces (usually that have been abstracted) into action to produce a final solution. This is the creation and implementation of the code.

17
Q

Prime example of abstraction in programming?

A

Functions and classes

18
Q

Why do we have a topic like thinking abstractly ?

A

To identify what matters in solution and what doesn’t.