Pillars of Computational Thinking-A must before diving into problem-solving
We all want to solve problems using our coding skills and contribute to the world and also gather some real-world experience to our portfolio, but often we are stuck while we are solving a real-world problem(Which may or may not be related to coding)
When a lot of people hear computational thinking, they think of programming, but computational thinking is not just about programming.
Computational thinking is an approach to solving problems using concepts and ideas from computer science and expressing solutions to those problems so that they can be run on a computer.
Computational thinking involves breaking down a problem into smaller parts, looking for patterns in those subproblems, figuring out what information is needed, and developing a step-by-step solution. Computational thinking is used everywhere by many different types of people. It isn't just computer scientists and engineers who use computational thinking, but also professionals in business, medicine, education, life sciences, and social sciences, all of these use computational thinking, to solve real-world problems. Do check out this resource
The 4 PILLARS that support your problem solving--
1. DECOMPOSITION-- Decomposition takes a complex problem and breaks it into more manageable sub-problems. By solving each potentially simpler sub-problem, we can put the solutions together to arrive at a solution to the original complex problem. Example - You are asked to write a business letter to a client. You can't write good content without breaking it into parts
- Introduction, Subject Line
- Body
- Conclusion
Breaking the content into these smaller parts and finally assembling them all together would lead to better content than writing the entire letter as one single part.
2.PATTERN RECOGNITION-- When we decompose the problem, we frequently find patterns among the sub-problems, i.e., similarities or shared characteristics. Discovering these patterns make the complex problem easier to solve since we can use the same solution for each occurrence of the pattern.
Example - You are given a task to draw a dog. Although dogs can look quite different from each other, all dogs share several key components:
one head, two ears, one body, four legs, and a tail.
To draw a dog, we just have to say what the characteristics are of each of these components and then draw a head, ears, body, legs, and tail.
3.DATA REPRESENTATION AND ABSTRACTION-- Data representation and abstraction involve determining what characteristics of the problem are important and filtering out those that are not. From this, we can create a representation of what we're trying to solve.
Example-
4.ALGORITHMS-- An algorithm is a set of step-by-step instructions on how to solve a problem. It identifies what is to be done (the instructions), and the order in which they should be done.
Example-
Well, while we encounter a problem, we don't think about these aspects but having these points would surely make your problem-solving process streamlined and seamless.
Since you are here, let's connect-