Contextualization
Mathematics is pervasive throughout every aspect of our lives, from performing quick calculations to see if we have the correct change, to time estimations to accomplish a certain activity or even in complex computer programming that goes on behind the applications we use daily. Therefore understanding algorithms is synonymous with the basic understanding of the solutions for the problems we encounter on a daily basis. No matter the complexity of the problem we face, all problems can be broken down to a series of instructions, or in other words an algorithm, that when executed in the correct order, will produce a result and in turn, solve the problem.
Algorithms are often associated with computer science, however, it’s crucial to recognize that algorithms are not confined to computer science. Mathematically speaking, an algorithm can be any set of instructions that when executed in the correct sequence will lead to the solution of a problem. Being well-versed in algorithms is therefore a key skill to problem solving not only in mathematics or computer science, but any domain involving problem solving strategies.
Now bringing the perspective to something more practical and tangible to our everyday lives, algorithms are the foundation for how computer software programs are created and function, which as we know, is an integral part of almost every aspect of our modern lives. For example, when using an application on our phones to look for directions to find the fastest route to our destination we are utilizing a software that has an optimized search algorithm. Similarly when doing a Google search, the ordered list of results is a consequence of a ranking algorithm. Thus understanding how algorithms function is not purely an academic endeavour, it is a very practical skill that will help us understand and better navigate the world around us.
For our studies and references we will rely on the Khan Academy platform specifically their Algorithms course: Khan Academy - Algorithms
Activity
Activity Title: Solving the Maze - Search Algorithm
Project Objective
Build a maze and develop an algorithm that effectively solves said maze. Throughout the project students will experiment with the creation and implementation of an algorithm in a hands on way and develop both teamwork and time management skills in pursuit of solving said maze.
Detailed Description of the Project
The project will be carried out in three distinct phases, the creation of a maze, the development of an algorithm and the creation of a project report
-
Maze Construction: The students in teams will build a maze out of recycled materials (i.e. cardboard, paper cups, tape, etc). The maze must have at minimum a starting point, a finish point and multiple paths, it’s crucial that the maze is complex enough that the algorithm is sufficiently challenged.
-
Algorithm Design: Once the maze is constructed each team will design an algorithm capable of navigating a “robot” (toy car) from the start to the end point of the maze. Said algorithm has to be efficient in its ability to solve the maze and should be visually represented in the form of a flowchart.
-
Project Report: Throughout the duration of the activity, the students will be writing up a comprehensive report of the project thoroughly explaining the decision making and rationales.
Required Materials
- Recycled materials to build the maze (cardboard, paper cups, etc)
- Paper and pens to design and document the algorithm
- A small toy robot or car
- Camera to document the activity
Step by Step Activity Instructions
-
Maze Assembly: Using the materials provided each team of students is tasked with designing and assembling a tabletop maze with a start and end point, as well as multiple pathways. It is crucial that the pathways are wide enough for the toy robot or car to pass.
-
Algorithm Design: Once the maze is constructed the team must come up with an algorithm that can navigate the toy car from the starting point to the end point of the maze. Said algorithm should be designed, documented and presented as a flowchart.
-
Algorithm Execution and Recording: The students will now use their algorithm to guide the toy car through the maze while recording said process on video, for further analysis and group discussion.
-
Report Writing: While executing the activity students will write a project report detailing the challenges faced, the strategies used, the outcomes and most importantly the reasons behind their decision making.
Project Deliverables
Upon the conclusion of the project students will submit the following deliverables:
-
Experiment Video: A video recording of the algorithm being executed on the maze. Said video is part of the evaluation process and should be included in the project report.
-
Project Report: A written document including the following sections: Introduction (context and goals of the project), Development (a detailed description of the maze created, presentation of the implemented algorithm,附带流程图 ) Conclusion (the outcome of the project, difficulties faced, lessons learned), Bibliography (the references consulted to complete the project).
The report should be well written and well organized in a clean and coherent manner. The use of images, charts and tables to better illustrate the thought process and results are highly encouraged.