Thumbnail

4 Algorithms that Should Be Taught More Widely in Schools

4 Algorithms that Should Be Taught More Widely in Schools

In an era where computational skills are becoming increasingly essential, the question arises: Which algorithm deserves a prime spot in the classroom? With insights from a CEO and a Senior Data Scientist, this article explores the vital algorithms that can shape problem-solving minds. Discover why the CEO emphasizes teaching A* for problem-solving skills and conclude with the Senior Data Scientist's take on applying divide-and-conquer for tackling complex problems. Dive into a total of four expert insights to understand the importance of these algorithms in promoting computational thinking.

  • Teach A* for Problem-Solving Skills
  • Learn Recursion for Holistic Thinking
  • Use Sorting to Develop Computational Thinking
  • Apply Divide-and-Conquer for Complex Problems

Teach A* for Problem-Solving Skills

One algorithm that should be taught more widely in schools to promote computational thinking is the A* (A-star) search algorithm. This algorithm is widely used in pathfinding and graph traversal, making it fundamental for various applications in computer science, such as gaming, robotics, and network routing. Teaching A* not only introduces students to the concepts of graph theory and heuristics but also emphasizes problem-solving strategies that can be applied in numerous real-world scenarios.

The importance of understanding the A* algorithm—and computational thinking in general—extends beyond computer science. It encourages students to break down complex problems into smaller, manageable parts, fostering critical thinking and systematic reasoning. As technology becomes increasingly integrated into all aspects of life, equipping students with the skills to think algorithmically will empower them to innovate and address challenges across different fields, from engineering to healthcare. By introducing such algorithms early in education, we can cultivate a generation of thinkers who are better prepared to navigate and shape the future landscape of technology and society.

Learn Recursion for Holistic Thinking

The one algorithm that should be taught more widely in schools is the recursive algorithm. It trains students to break down complex problems into smaller, manageable pieces, which is a cornerstone of computational thinking. By learning recursion, students gain an understanding of how to approach a problem systematically and iteratively, which is critical not only for coding but for problem-solving in any discipline.

When I was developing the Christian Companion App, recursion came into play when designing how our AI parses Bible text. We had to loop through multiple layers of context, references, and meanings in a way that mimics the structure of a recursive function. This approach allowed us to handle complex queries efficiently, helping users get more nuanced answers from the app. Recursion allowed us to refine the AI's logic by breaking down seemingly insurmountable tasks into manageable loops and iterations.

To teach recursion effectively in schools, educators can use visual tools and interactive coding environments where students can see how breaking down tasks and revisiting them simplifies complexity. Recursion challenges students to think about a problem not just in linear steps but in cycles, helping them think holistically. Implementing recursion in classrooms can be as simple as teaching students how to solve puzzles that require repeating actions with slight variations.

My unique take is that recursion is not just a computer-science skill but a life skill. In business, you often encounter large-scale problems that seem overwhelming, but breaking them down into smaller tasks-like recursion-makes them solvable. Just as recursion helps AI interpret vast amounts of data or text efficiently, it can help individuals in any field make sense of complex systems, ultimately fostering a generation of more adaptive, computational thinkers.

Use Sorting to Develop Computational Thinking

I believe that to promote the concept of computational thinking in schools, a simple algorithm like sorting would be the most appropriate. Computational thinking involves

- problem-solving (developing a strategy),

- problem-mapping (using flowcharts or diagrams),

- critical thinking (Is this solution actually correct?), and

- hierarchical thinking (decomposing a larger problem into smaller, solvable pieces).

Keeping the actual algorithm as simple and basic as possible allows students to develop these skills in a meaningful fashion.

The above concepts are generic enough that they can be applied to everyday tasks as well. In general, they will provide a strong foundation that can be utilized by everyone, irrespective of whether they choose computer science as a profession.

Pushpak KarnickProgram Director (RTIS & BSCS Programs), DigiPen Institute of Technology

Apply Divide-and-Conquer for Complex Problems

More than a single algorithm, the divide-and-conquer approach to problem-solving is underappreciated. Computer science students will be introduced to the approach in an algorithms class and will likely apply it to sorting a list. While the analysis shows that the approach is incredibly effective, sorting is hardly a compelling use case for most students.

Even beyond the field of computer science, divide-and-conquer as a mindset is applicable to solving problems in nearly every domain. Learning a complex piece of piano music may feel overwhelming or impossible. But, divide the music up into measures and conquer them one measure at a time—any one measure likely doesn't feel so impossible. Once you've conquered each measure, assemble the results and suddenly you've conquered the entire piece. Want to build a tansu-style chest of drawers? First, learn to build a box (simple: four sides, a top, and a bottom). The case is just a large box on its side; each drawer is a smaller box. Solve the small problem many times, combine the pieces, and you have your chest of drawers.

Travis Johnston
Travis JohnstonSenior Data Scientist, Striveworks

Copyright © 2024 Featured. All rights reserved.