Every definition of Computational Thinking that you find will typically state the following:
Computational Thinking:
We will delve into the skills and what each of the different components mean.
The term "Computational Thinking" was coined by Seymour Papert in his book, Mindstorms: Children, computers and powerful ideas, published in 1980. The book, and a subsequent paper written in 1996, was more about computational theory and creating a computer culture in schools.
In 2006, Jeanette Wing built upon Papert’s idea of computational thinking in that Viewpoint article that I sent out. How many of you had time to read it? In the article, she discussed how CT should be a problem solving device for more than just computer scientists and mathematicians.
She explains that computing is more than just computing power and devices. It’s a way of thinking that will influence all spheres of life. That it is a skill set that everyone will need to learn and use in the future.
COMPUTATIONAL THINKING IS FOR EVERYONE!
Here, we have grouped the data skills together because these are skills that are already taught in mathematics courses pretty thoroughly. There are a few great videos for students who might need some help with this type of skillset. An especially fun and valuable set of videos are the Odd Squad series, found in PBS Learning Media. They do a number of episodes on data analysis and representation.
Abstraction is the process of filtering out unnecessary information. It's about the details and knowing which ones to highlight and which ones to ignore. For instance, if you are giving directions to someone and you tell them it's "the 3rd house on the left", you don't have to describe each house in detail, because they already have a frame of reference for knowing what a "house" is.
These two videos explain more fully the process of abstraction.
An algorithm is just a set of instructions. For instance, when you cook or bake using a recipe, you are following an algorithm. When you are knitting or crocheting using a pattern, you are following an algorithm. When you use algorithms in computer science you are doing the same thing, but they are VERY VERY SPECIFIC.
There are some great CS Unplugged activities for algorithms.
Automation is the process of speeding up of repetitive tasks by having computers or machines perform them.
Without looking, can you tell who made this video? Yes, it's an advertisement, but it very clearly shows automation not only by computers, but by humans as well.
Simulation is the modeling or representation of an algorithmic process to be sure that the steps are correct. Simulation involves running the program before debugging it.
Parallelization is the process of solving different pieces of complex problems simultaneously. For instance, if you are making a meal, you might have one person chopping the vegetables, and another one seasoning the meat. These would be two separate tasks done at the same time, in parallel, ultimately leading to the solution of the bigger "make a meal" problem.