211-thinking-abstractly-elements-of-computational-thinking Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Abstraction

A

Process of separating ideas from particular instances/reality.
It simplifies problem by removing unnecessary detail (such as underlying implementation) to focus on the main purpose and relevant parts important to the problem, can be separating the logical and physical aspects

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

Abstraction benefits

A
  • Computational resources: processing, memory, time requirements -> - lower spec computers
  • no detracts -> higher quality focus
  • omit non contributes -> development time
  • reduce programming complexity -> easier problem solving
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Thinking abstractly

A
  • level of expertise?
  • What details are irrelevant?
  • analysing what is relevant in a given scenario and simplifying a problem based on the info into one thats already solved(representational) or grouping similarities within a problem under a certain category (genereralisation) to devise a common solution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Modelling and simulation in abstraction

A

Devising a model that represents the reality

real world object or phenomenon model to solve particular problem. E.g climate change consequence of … model

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

difference between abstraction and real

A

removal of irrelevant and complex features
may not be to scale
-representation of reality using symbols to show real-life features

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

data abstraction

A

details of how data is stored/constructed is hidden
programmers make use of abstract data structures e.g stacks without concerning about how theyre implemented
can use functions like push without knowing the code/how its done

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

Levels of abstraction

A

highest levels of abstraction, closest to user, interface for user to interact with
- low levels responsible for the actual tasks execution
the higher the level, the less detail needed

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