Monday, December 3, 2018

BYTE-SIZED BLOG: What is Computational Thinking?

A guest blog by Cindi Chang in celebration of Computer Science Education Week 2018
 
 
 
 
What is Computational Thinking?


Computational thinking is using special thinking patterns and processes to pose and solve problems or prepare programs for computation.


There are four pillars that comprise computational thinking:

·         Decomposition

·         Pattern matching

·         Abstraction, and

·         Algorithms (sometimes referred to as automation)


Decomposition is breaking a problem down into smaller, more manageable parts. Multiplication is an example of decomposition. Take 436 x 12. This can be a bit challenging to solve. We can break it into (436 x 2) + (436 x 10), which is 872 + 4360, which equals 5232.


Pattern matching is finding similarities between items as a way of gaining extra information. “Pattern recognition can be associated with common acts like knowing how to open a new book or even being able to seamlessly hop from using one brand of phone to another.”


Abstraction is ignoring certain details in order to come up with a solution that works for a more general problem.  In other words, removing details that are too specific so that one instruction can work for multiple problems. An example is making a bed. You don’t need to know the exact pattern of sheets in order to tell someone how to make a bed, or the color of the blankets, or how many pillows there would be. Those details can be abstracted out when giving instructions on how to make a bed.


Automation (algorithms) is the act of controlling a process (by automatic means) and reducing human intervention to a minimum. For example: we could create a computer program that asks us for n number of sides and returns a polygon for us.

___________________________________________

(Material adapted from Computational Thinking and Coding for Every Student by Krauss and Prottsman)

Nevada Academic Content Standards for Computer Science: http://www.doe.nv.gov/Standards_Instructional_Support/Nevada_Academic_Standards/Computer_Science/

[https://lh5.googleusercontent.com/h0Vfa5tC4rByHd6iHxai91It41wpTQoW_xlHbJfUaHNL6CNZIU_ckMACsDeLadFVU7CVMVrZgRCpgxnraAv3o1fusPOKcwL-K3cjjWu7US5l4FdKv2z6-0_FTAy9_EJGl-GxpOXw]


Cindi L. Chang, M.Ed.