The author of this paper has a quite long research and teaching experience in the context of the analysis of algorithms, as popularized by Knuth and Sedgewick and Flajolet; this approach to the analysis of algorithms concentrates on precisely characterizing the performance of algorithms by determining their best, worst and average case performance using a methodology that can be refined to produce increasingly precise answers when desired. The Analysis of Algorithms teaching experience concerns the Computer Science degree at the University of Florence and, in general, involves students more interested in the implementation of an algorithm than in the corresponding theoretical aspects. A compromise that was successful over the years consists in teaching students the analytical aspects of the analysis of an algorithm and then asking them to implement the algorithm in order to precisely check the theoretical results. This is in general possible for small sizes of the problem under consideration while for larger sizes it is necessary to set up a simulation by executing the algorithm on a sufficiently large sample of inputs. In this latter case, obviously, the theoretical results cannot be checked precisely and some statistical test must be used to conclude that the simulation agrees with the theory. In other words, during the course, the analysis of an algorithm or a data structure is accompanied by its simulation with a system of symbolic computation, like Maple.

Analysis of algorithms as a teaching experience / D. Merlini. - In: MAPLE TRANSACTIONS. - ISSN 2564-3029. - ELETTRONICO. - 3:(2023), pp. Article 1566.1-Article 1566.16. [10.5206/mt.v3i2.15664]

Analysis of algorithms as a teaching experience

D. Merlini
2023

Abstract

The author of this paper has a quite long research and teaching experience in the context of the analysis of algorithms, as popularized by Knuth and Sedgewick and Flajolet; this approach to the analysis of algorithms concentrates on precisely characterizing the performance of algorithms by determining their best, worst and average case performance using a methodology that can be refined to produce increasingly precise answers when desired. The Analysis of Algorithms teaching experience concerns the Computer Science degree at the University of Florence and, in general, involves students more interested in the implementation of an algorithm than in the corresponding theoretical aspects. A compromise that was successful over the years consists in teaching students the analytical aspects of the analysis of an algorithm and then asking them to implement the algorithm in order to precisely check the theoretical results. This is in general possible for small sizes of the problem under consideration while for larger sizes it is necessary to set up a simulation by executing the algorithm on a sufficiently large sample of inputs. In this latter case, obviously, the theoretical results cannot be checked precisely and some statistical test must be used to conclude that the simulation agrees with the theory. In other words, during the course, the analysis of an algorithm or a data structure is accompanied by its simulation with a system of symbolic computation, like Maple.
2023
3
1
16
D. Merlini
File in questo prodotto:
File Dimensione Formato  
Maple_Transactions_Merlini.pdf

accesso aperto

Tipologia: Pdf editoriale (Version of record)
Licenza: Creative commons
Dimensione 542.86 kB
Formato Adobe PDF
542.86 kB Adobe PDF

I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificatore per citare o creare un link a questa risorsa: https://hdl.handle.net/2158/1326731
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact