Office hours: Friday, 11:00 -12:00
Room: Department of Statistical Sciences, 4th floor, room 21
E-mail: irene.finocchi AT uniroma1.it
Monday, 10:15-11:45, Aula VII
Wednesday, 10:15-11:45, Aula informatica XI - ex tipografia Tumminelli
In this course you will learn how to master algorithmic programming techniques. The primary objective is to study algorithms and data structures that efficiently solve problems that would require very high computational resources (time or space) using trivial approaches. We will address problems frequently arising in practical applications and real-world situations, such as sorting, searching, and graph traversal, as well as general design techniques including divide and conquer, greedy algorithms, and dynamic programming.
The course will cover the entire algorithm engineering cycle, addressing the design, theoretical analysis, implementation, and experimental evaluation of algorithms and data structures. The students will practice solving computational problems, designing new algorithms, and implementing efficient solutions in Python.