About this book
There is a significant difference between designing a new algorithm, proving its correctness, and teaching it to an audience. When teaching algorithms, the teacher's main goal should be to convey the underlying ideas and to help the students form correct mental models related to the algorithm. This process can often be facilitated by using suitable metaphors. This work provides a set of novel metaphors identified and developed as suitable tools for teaching many of the "classic textbook" algorithms taught in undergraduate courses worldwide. Each chapter provides exercises and didactic notes for teachers based on the authors’ experiences when using the metaphor in a classroom setting.