Computational Thinking Flashcards

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

Abstraction

A

The process of separating ideas from reality by hiding unnecessary details and only showing details that are important

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

The Need for Abstraction

A
  • Removes unnecessary details to improve the clarity of what is trying to be shown
  • Reduce processing requirements
  • Reduce memory requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Making an Abstract Model

A
  • Remove unnecessary scenery/buildings
  • Removal of unneeded controls or factors in a simulation
  • Removal of small, insignificant roads on a map
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Preconditions

A

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

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

Caching

A

Instructions or data retrieved from secondary storage and placed into main memory often remain there in case they are needed again before the program using them ends

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

Advantages and Disadvantages of Caching

A

A - Caching improves speed and efficiency as it results in faster retrieval times of data/instructions as they don’t need to be fetched from secondary storage which would’ve otherwise took longer

D - Caching algorithms due to their nature of predictive logic are difficult to implement
D - Maintaining the correct sequence of instructions/data when the wrong data is fetched can be problematic

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

Reusable Components

A

A - Shortens development time
A - Reduced testing requirements
A - Saves developer’s resources

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

Decision Point Programming

A

Start / End - Rectangle with curved edges
Process - Rectangle
Decision - Diamond
Input / Output -Parallelogram

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

Concurrent Processing

A

An application is making progress on more than one task at the same time but not necessarily simultaneously

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

Parallel Processing

A

An application splits its task into smaller subtasks which can be processed in parallel

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

Concurrency V Parallelism

A

Concurrency - Can support two or more actions in progress at the same time
Parallelism - Can support two or more actions executing simultaneously

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

Reactive Programming

A

User is able to interact with applications while other tasks are running

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

Parallelism

A

A complex program is able to make better use of multiple resources in a multicore/multi processor system

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

Advantages and Disadvantages of Thinking Concurrently

A

A - The number of tasks completed in a given time increases
A - The processor has less time spent idling as it waits on a user or another process

D - Having many tasks operating concurrently has the possibility of corrupting the consistent state of a program
D - Tasks should not suspend and then indefinitely wait for each other which is more likely to occur when multiple operations are occurring at once (deadlock)

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