'Search Algorithms' addresses two key topics in the computing curriculum: understanding algorithms with sorting and searching given as examples, and comparing the utility of alternative algorithms for the same problem.
This mystery shows students that in programming, as well as in real life, there are multiple ways to solve a problem. It is important that the students realize that there is not necessarily one right approach for all cases. What works best for the scenario given in the mystery is not necessarily the best when there are fewer or more books.
The activity also shows that when designing or choosing an algorithm to solve a problem, there’s usually compromises between the time taken to learn and implement an algorithm, and the time it takes to execute an algorithm. Faster algorithms, in many cases, are harder to understand and may take more time to implement, so the choice of the algorithm depends on whether speed is critical, whether it is frequently used or not, and the time available to implement the algorithm.
You can choose between three difficulty levels in the settings. 'Easy' introduces three different approaches with their main advantages and disadvantages. 'Medium' links these algorithms to computing science, and 'Hard' gets students thinking about more challenging scenarios.
- Learn what algorithms are by using a simple formal definition supported by practical scenarios of three different algorithms to perform the same task
- Understand several key algorithms that reflect computational thinking (such as sorting, to speed up searching)
- Use logical reasoning to compare the utility of alternative algorithms for the same problem