Describir: The Design and Analysis of Algorithms