Callysto.ca Banner

Module 1 Unit 1: Computational Thinking and Me#

Unit Learning Outcomes#

By the end of this unit, you will be able to

  • Understand computational thinking

  • Describe the steps of computational thinking

  • Assess your current computational thinking skills

What is computational thinking?#

from IPython.display import YouTubeVideo
YouTubeVideo('rRNybWC1q6E')

“…a way of approaching problems in an analytical, algorithmic manner. It is when people use computational methodologies to work step-by-step through a question or dilemma” Professor Cathy Adams, Faculty of Education, University of Alberta

Steps#

Computer scientists must somehow program a computer, that has no understanding beyond the instruction set, to execute commands in an efficient manner to solve problems or perform sometimes complex tasks.

How do they do this? Well, it depends on the complexity of the challenge but in general, to be able to program a computer to solve a problem we must first understand the problem and come up with potential solutions. Computational Thinking is key to this problem-solving process and can be described in the following steps:

  1. Break down the problem - decomposition

Take a large and complex problem, and break it down into smaller, more manageable problems or steps.

  1. Look for patterns or trends

Identify or generate data which may help solve or simplify the problem.

  1. Generalize through abstraction

Remove unnecessary detail from the problem.

  1. Format a general solution - design an algorithm

Once the problem is broken down accordingly, take those pieces, solve them individually, and put them together logically into a complete solution (e.g. a process or set of rules) known in computer science as an algorithm.

  1. Analyze and evaluate the solution

What new insights do you have based on the solutions to your problem?

Concepts and Approaches#

As well, Computational Thinking doesn’t necessarily require using a computer to solve problems (it probably helps though) but involves the application of the process in the previous section and other tools (concepts and approaches) mentioned in the figure below and on our Comp 101 page.

Logic, Evaluation, Algorithms, Patterns, Decomposition, and Abstraction are important concepts or techniques that are applied during the process of solving a problem using Computational Thinking.

Tinkering, Creating, Debugging, Persevering, and Collaborating are approaches that teachers can use in their classrooms to foster Computational Thinking among their students. Each of these approaches play important everyday roles for computer scientists as they tackle the different problems they encounter.

The Computational Thinkers Barefoot Computing

Source: reproduced with permission from Barefoot Computing.

Self-Assessment#

An Introduction to Computational Thinking quiz to help you assess your understanding of the key elements of the computational thinking process: Access the quiz on the BBC website HERE.

Callysto.ca License