Please enable JavaScript.
Coggle requires JavaScript to display documents.
Computational Thinking - Coggle Diagram
Computational Thinking
Thinking Concurrently
-
-
-
Negatives: may be difficult to program, can result in deadlock and problem may not suit concurrency
Examples: when building a house ordering the windows while putting up the walls, playing sound in a game while a user enters inputs, multiple images downloading for a webpage
Thinking Logically
-
Meaning: identifying when selection or iteration is required, determining the conditions of the decision, determine next steps depending on outcome of selection
Positives: makes writing algorithms easier, the complexity of an algorithm can be decided, algorithms can be simplified or better solution found easier, identifies branches for testing
-
Examples: happens after thinking procedurally - using a flowchart or pseudocode to identify individual steps in an algorithm
Thinking Procedurally
-
-
Negatives: May not be possible to do an event driven approach rather than procedural approach to programming
Examples: Creating a grade system for a test requires putting marks into a system before applying grade boundaries and printing results
-
Thinking Ahead
Definition: identifying conditions for a system such as inputs, outputs and reusable components
Meaning: What you need to know before solving a problem and identifying what data you need beforehand(caching)
-
Negatives: Caching can be complicated to implement and requires the correct data to be fetched for the next instruction
Examples: Working out how much paint you need before decorating, getting your debit card out before it is needed to be scanned and sorting data for a binary search
Thinking Abstractly
-
-
Positives: simplifies problems and interfaces, less computation and easier to see how a solution to a problem can also be a solution to another
-
Examples: Icons and symbols, and moving nodes on a graph data structure to change how it looks