2.1 COMPUTATIONAL THINKING

12 flashcardsby Sabs2023
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
what is thinking abstractly?
Removing unnecessary details and only including the relevant details
2
why do we need abstraction?
Reduces the complexity and improves the clarity of what we're trying to convey.
3
what is thinking ahead?
Identifying the preconditions of a system, the inputs, outputs and reusable components.
4
why is thinking ahead good?
Helps us to:
-Maximise code efficiency
-Minimise errors
5
Examples of reusable components?
-Subroutines/procedures
-libraries
-APIs
6
Example of how thinking ahead has been implemented?
Caching and prefetching
7
what is thinking procedurally
Breaking a problem down into sub problems and identifying order of events
8
tools for designing algorithms?
hierarchy charts
Flowcharts
Pseudocode
9
what is thinking logically?
Identifying decision points for branching or iteration.
10
what is thinking concurrently
Identifying if parts of a problem can be tackled at the same time.
Multitasking
11
Advantages of concurrency?
Reduces time needed as the number of tasks completed in a given time is increased
12
Disadvantages of concurrency
-May be difficult to program/implement
-Program/problem may not suit concurrency
Study all 12 cards for free