Please enable JavaScript.
Coggle requires JavaScript to display documents.
Computational Thinking - Bridging Work - Coggle Diagram
Computational Thinking - Bridging Work
THINKING ABSTRACTLY
Definition: Removing unnecessary details and including only the relevant details
Meaning: Identifying what does and doesn't matter to solving a problem
The idea of layering or levels of a problem
deciding what variables & objects will be needed
+ves: Allows you to make predictions
-ves: It may be difficult to predict markets, users, trends, and technical influences
Too many variables may mean the scenario is too complex to model accurately
Illustrations: Symbols on a map
Moving nodes on a graph data structure to change the visualization
THINKING AHEAD
Definition: Identifying the preconditions of a system, the inputs, outputs and reusable components
Meaning: What you need before you get going Identifying the inputs and outputs
Caching: Identifying what is required before it is needed
Identifying reusable program components
+ves: Caching can speed up a process
-ves: Caching can be compliacted to implement
Caching requires the correct data to be fetched for the next instruction
Illustrations: Working out how much paint you need before starting to decorate
Getting all the tools ready for a DIY project in advance
THINKING PROCEDURALLY
Definition: Breaking down a problem
Meaning: Identifying a number of smaller sub-problems
Determine the order of events
-ves: May not be entirely possible with an event driven rather than procedural approach to programming
Illustrations: Generating a subject grade requires putting marks in a system, before applying a grade boundary, before printing results
THINKING LOGICALLY
Definition: Identifying decision points for branching or iteration
Meaning: Identify the points at which a decision is needed
Determine the conditions of the decision
Determine the next steps depending on the outcome of the decision
+ves: The complexity of an algorithm can be determined
Illustrations: Using a flowchart to design an algorithm
THINKING CONCURRENTLY
Definition: More than one thing happening at once
Meaning: Identifying if parts of the problem can be tackled at the same time
+ves: Concurrency speeds up the solution
-ves: May be difficult to program
Problem may not suit concurrency
Illustrations: Building a house - ordering windows, whilst putting up the walls