Analysis of algorithms as a teaching experience

Authors

  • Donatella Merlini Università di Firenze

DOI:

https://doi.org/10.5206/mt.v3i2.15664

Keywords:

Maple in education, analysis of algorithms, algorithms simulation, Quicksort, symbolic computation

Abstract

Teaching analysis of algorithms to students in Computer Science degrees, using the approach popularized by Knuth in his series of books ``The Art of Computer Programming" and later by Sedgewick and Flajolet in the book ``An Introduction to the Analysis of Algorithms", is not a simple task since, in general, these students are more interested in the implementation of an algorithm than in the corresponding theoretical aspects. This approach concentrates on precisely characterizing the performance of algorithms by determining their best, worst and average case performance using a methodology based on symbolic tools such as recurrence relations and generating functions.
The most difficult aspect is to understand the average case since this corresponds to studying the algorithm as its possible inputs vary: this represents the most important goal since generally students have no difficulty in understanding the best and worst cases, corresponding to particular input configurations.
A compromise that has been successful over the years consists in teaching students the analytical aspects of the problem and then organize a simulation of the algorithm with a system of symbolic computation in order to precisely check the theoretical results.

Two curves in red going through blue data stars (top curve) and red data stars (bottom curve)

Downloads

Published

2023-08-28