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.
From the reviews:
"This booklet is divided into four chapters, making it easy to follow the basic semiotics of the symbols used in the algorithms. ... The book concludes with an appendix containing the solutions to the exercises in the chapters. ... Anyone interested in teaching algorithms should read this valuable booklet. It includes appropriate text structure, easy-to-follow examples, discussions, and proposals, and could be of use to computer programming teachers and computer programmers looking to improve their programming skills." (F. J. Ruzic, Computing Reviews, August, 2013)
"This booklet is divided into four chapters, making it easy to follow the basic semiotics of the symbols used in the algorithms. ... The book concludes with an appendix containing the solutions to the exercises in the chapters. ... Anyone interested in teaching algorithms should read this valuable booklet. It includes appropriate text structure, easy-to-follow examples, discussions, and proposals, and could be of use to computer programming teachers and computer programmers looking to improve their programming skills." (F. J. Ruzic, Computing Reviews, August, 2013)