Please enable JavaScript.
Coggle requires JavaScript to display documents.
Computational Thinking Strands - Coggle Diagram
Computational Thinking Strands
Thinking Abstractly
Exam Definition
-Removing unnecessary details & including only relevant info.
Meaning
Identify what does/doesn't matter to solving the problem
Idea of levels of a problem
Decide what variables will be needed
Positives & negatives
Allows you to make predictions
May be difficult to predict markets, users, trends & technical influences
Too many variables would make modelling solutions inaccurate & difficult
Real-life Examples
Charting where an Oyster card is check on London Underground
Symbols on a map showing different features (roads, parks.etc)
Thinking Ahead
Exam Definition
- Identifying preconditions of a system, inputs, outputs & reusable components
Meaning
What you need before beginning
Inputs & outputs
Caching- identify what is required before it's needed
Identify reusable components
Positives & negatives
Caching can speed up a process
Caching can be complicated to implement
Caching required correct data to be be fetched for next instruction
Real-life examples
Working out amount of paint needed before decorating
Getting all tools for a DIY job before starting
Getting wallet out before being told to pay
Thinking Procedurally
Exam Definition
- Breaking down a problem
Meaning
Identify smaller sub-problems
Determine order of events
Negative
- May not be possible with event driven programming
Real-life examples
Generating a subject grade- put marks into a system, applying grade boundary, print results
Thinking Logically
Meaning
Identify points where a decision is needed
Determine conditions of a decision
Determine next steps based on decisions made
Positive
- complexity of the problem can be determined
Exam Definition
- Identify decision points for branching/iteration
Real-life example
- using a flowchart for designing an algorithm
Thinking Concurrently
Exam Definition
- More than 1 thing happening at the same time
Meaning
- Identifying is parts of a problem can be solved at the same time
Positives & negatives
Concurrency speeds up solution
May be difficult to program
Problem may not suit concurrency
Real-life example
- building a house- ordering windows whilst putting up walls