Algorithmic Thinking in Action
Algorithmic Thinking is one of the eight key principles of computer science. This principle deals with the formulation of computational procedures to solve problems. It requires a clear understanding of the problem at hand and the ability to design a step-by-step procedure (i.e., an algorithm) that provides a solution to that problem. Now, I suggest Algorithmic Thinking is less about the application of computation and more about how to conceptualize computation. Yes, Algorithmic Thinking is an abstract process, not a procedure. Thus, I am going to approach the discussion through the lens of the limitations of this principle. Doing so will let us see Algorithmic Thinking in action.
Ready? Let’s go.
The problem space addressed by Algorithmic Thinking is vast. It ranges from sorting a list of numbers, searching for a specific item in a database, to complex tasks like natural language processing (e.g., ChatGPT) or pathfinding for autonomous vehicles. In essence, any problem that requires a systematic solution can be approached using Algorithmic Thinking.
Algorithmic Thinking is not without limitations, however. Perhaps the most common limitation is not all problems are deterministic. Meaning, there is no clear-cut solution. For example, problems involving randomness, or heuristic-based problems (like the Traveling Salesman Problem), don’t…