Please enable JavaScript.
Coggle requires JavaScript to display documents.
COMPUTATIONAL THINKING - Coggle Diagram
COMPUTATIONAL THINKING
thinking abstractly
positives
simplifies the interface of a problem
simplifies the problem itself
can see that a solution to one problem can be a solution to
another
negatives
models may not be as accurate
definitions
to remove details that are unnecessary
and keep only the info needed
identifying levels of a problem
identifying what details/objects are needed and
not needed to solve a problem
examples
icons/symbols on a map
charting data
thinking ahead
identifying what you need to know before solving a problem
identifying what data is required before it is needed in an algorithm
identifying reusable components in a program
positives
it can speed up a process
negatives
can be complicated to implement
requires the correct data to be fetched for the next
step/instruction in a program
examples
working out the amount of paint needed before you decorate
getting out a credit card before you need to pay
thinking procedurally
definition
breaking a problem down
make a problem into smaller tasks
solve a problem in small steps at a time
positives
problems are made easier to solve
debugging is easier
negatives
might not be possible with event based programming
examples
painting walls before replacing flooring
putting marks into a system before applying a grade boundary
thinking concurrently
positives
increase in speed of the program
negatives
may be difficult to program
can result in deadlock, a state where no process can be made in a program
the problem may not be suited for simultaneous execution
definitions
finding which parts of a program that can be executed at the same time
examples
downloading multiple images at the same time
ordering the windows for a house while putting up the walls for the same house
thinking logically
definition
identifying where a selection or iteration is needed in a program
identifying steps in a program individually
positives
makes writing an algorithm easier
can determine how complex an algorithm is
algorithms can be simplified
identifies branches of testing
negatives
none
examples
using a flow chart to determine the steps in an algorithm