Computational Thinking

think with algorithms, data, and logic

Computational thinking is a problem-solving methodology that uses principles from computer science to analyze and tackle challenges across various domains. It enables you to approach problems logically and systematically, much like a computer would process information.

It involves breaking down complex problems into smaller, more manageable parts, identifying patterns and trends, and developing algorithms to solve them. Computational thinking is not just about programming or coding; it is a fundamental skill that can be applied to a wide range of problems and scenarios.

It has several aspects, which include:

Why is this of interest ?

When you hear “computational thinking”, you might think it is only relevant to computer scientists or programmers. However, computational thinking is a valuable skill that can benefit everyone, regardless of their background or profession. It is instead a universal problem-solving approach that can be applied to a wide range of challenges, from planning a project to analyzing data to making decisions.

It can help you think more logically and systematically, leading to better results when tackling difficult or complex problems. Once you have developed these skills, you’ll be more successful at thinking critically, making informed decisions, and finding creative solutions to a variety of issues.

It can also help you communicate more effectively with others, especially when working in teams or collaborating on projects. By breaking down problems into smaller parts, identifying patterns, and developing algorithms, you can explain your thought process more clearly and help others understand your reasoning.

Thinking with, and about, data

Data is absolutely everywhere, and even when you don’t realise it, you are constantly interacting with, or producing data! Just consider how many times you take a photo with your phone, send a message to a friend, purchase something only, tap your metro card, or even just browse the internet. All of these actions generate data, which can be collected, analyzed, and used to gain insights, make predictions, or inform decisions.

It is estimated that by 2025, the world will produce 463 exabytes of data every day. Your day to day interactions with technology, social media and the internet could very well produce more recorded data than the whole of the Roman Empire did in its entire existence!

In a very broad sense, and from a data analysis perspective, data comes in three main forms:

  • Numerical data, which consists of quantities like income, age, temperature, time, etc.
  • Categorical data, which consists of categories or labels like gender, color, brands, cities, etc.
  • Text data, which consists of words, sentences, paragraphs, etc. in the form of books, articles, tweets, etc.

Photos, videos, audio files, and other multimedia content can also be considered as data, generally falling under the category of numerical data (in its simplest, a photo is a collection of pixels, each with a numerical value).

The data life cycle

Data, like any other resource, has a life cycle that includes several stages. We first collect data, then we clean it by removing any errors or inconsistencies, explore it to understand its structure and patterns, analyze it to gain insights or make predictions, and finally visualize it to communicate our findings effectively.

This process is key to become someone who can think with data, and about data, and a fundamental skill for anyone today and in the future.

Key concepts when thinking with data

There are three fundamental things you should practice to become a good critical thinker with data. One is to always remember that correlation does not imply causation. Just because two things are related, it doesn’t mean that one causes the other. For example, the number of ice cream sales and the number of drownings are correlated, but it doesn’t mean that eating ice cream causes drownings!

The second is to always be aware of the context in which data is collected. Data can be biased, incomplete, or misleading, so it is essential to understand where it comes from and how it was collected. For example, a survey conducted only among young people might not be representative of the entire population. Equally, bias can be introduced by the way questions are asked, or by the way data is collected and you can safely assume that all data has some level of bias! There are many forms of cognitive bias, and in any given day you will be exposed to at least a handful of them - becoming a critical thinker and problem solver means being able to identify and mitigate these biases.

Cognitive biases

Cognitive biases

The third is to always be critical of the data you are analyzing. Data can be manipulated, misinterpreted, or misrepresented, so it is crucial to question its validity and reliability. Always ask yourself if the data is accurate, if it is relevant to the problem you are trying to solve, and if it is being used appropriately.

The tools of the trade

Different people will prefer different tools when problem solving, or when thinking with data. Some might prefer to use a pen and paper, while others might prefer to use a computer or a tablet. Some might prefer to work alone, while others might prefer to work in a team. Some might prefer to use a spreadsheet, while others might prefer to use a programming language.

If you are starting, often the easiest tool is just to use a spreadsheet like Microsoft Excel or Google Sheets. These tools are user-friendly, widely available, and can handle a wide range of data analysis tasks. They are also great for visualizing data, creating charts and graphs, and sharing your findings with others. Learning how to pivot tables, use statistical functions, and create visualizations in a spreadsheet will be a valuable skill for anyone learning computational thinking.

If you are a bit more adventurous, you might want to look into alternative tabular data tools like row zero, Sigma, or Google’s BigQuery. These tools are more powerful and flexible than traditional spreadsheets, and can handle larger datasets, more complex queries, and more advanced analyses.

Regardless of the tool you choose, the most important thing is to practice and experiment with different tools to find what works best for you. Developing a comfort level with programming languages like Python, R, or SQL will also be very beneficial, as they offer more advanced data analysis capabilities and can be used to automate repetitive tasks.

Real world applications

The skills you develop through these tools and ways of thinking can be applied to a wide range of real-world problems and scenarios. From humanities to social sciences, from natural sciences to engineering, from business to healthcare, thinking with data and algorithmically will be a key skill in your future.

Some examples of real-world applications include:

  • Predicting customer behavior and preferences to improve marketing strategies
  • Analyzing financial data to identify trends and make investment decisions
  • Monitoring and analyzing social media data to understand public opinion and sentiment
  • Identifying patterns in medical data to diagnose diseases and develop treatment plans
  • Analyzing traffic data to optimize transportation routes and reduce congestion
  • Detecting and preventing fraud by analyzing transaction data and identifying anomalies

These are just a few examples, the world is full of data and opportunities to apply the skills we have discussed!

Tips for success

There are a few key tips which can help you along the way. The first is to practice regularly and consistently. Like any skill, computational thinking and data analysis require practice and repetition to improve. Set aside time each day or week to work on problems, analyze data, and develop algorithms. The more you practice, the more comfortable and confident you will become.

Also start simple, break problems down into smaller parts, and build your way up. Don’t try to tackle complex problems right away; start with simple tasks and gradually increase the complexity as you gain more experience and confidence. This will help you develop a solid foundation and build your problem-solving skills over time. For example, if you are working on a data analysis problem, start by cleaning the data, understanding its structure, and performing some basic visualisation before moving on to tackle more complex questions.

Avoid overthinking, and learn from mistakes. Being wrong often provides useful insights which should become part of your critical thinking toolkit, don’t be affraid of making mistakes, they are key to learning!

Finally, find people to collaborate with and who can help you learn and grow. Working with others can provide new perspectives, ideas, and solutions that you might not have considered on your own. Join a study group, attend workshops or meetups, or participate in online forums and communities to connect with others who share your interests and can support you on your journey.

Reuse

This work is licensed under CC BY (View License)