- Docente: Roberto Casadei
- Credits: 6
- SSD: INF/01
- Language: Italian
- Moduli: Vittorio Maniezzo (Modulo 1) Roberto Casadei (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Cesena
- Corso: First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)
-
from Sep 18, 2023 to Oct 02, 2023
-
from Oct 05, 2023 to Dec 11, 2023
Learning outcomes
At the end of the course, the student knows about the basic data structures and algorithms. The student also knows the techniques for the estimation of the computational cost (complexity) of algorithms, and is able to design and implement efficient solutions to common problems in Information Technology (IT)-related fields.
Course contents
The course consists of two modules: the first is about the theory and practice of algorithms, and the second consists of an introduction to the Python programming language.
The algorithms under study will be presented in an abstract notation, independent of the details of specific programming languages. In practice sessions, the algorithms will be implemented in the C programming language. Python will provide an additional implementation perspective.
The topics covered in this course include:
- concepts of algorithms and efficiency/complexity
- asymptotic analysis of complexity
- recursive algorithms and divide-et-impera
- search algorithms
- sorting algorithms
- basic data structures: stacks, queues, trees, graphs, hash tables
- graph-traversal algorithms
Readings/Bibliography
- Algoritmi e strutture dati - Astrazione, progetto e realizzazione. Pasquale Foggia, Mario Vento. McGraw-Hill, 2011
- Introduzione agli algoritmi e strutture dati. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. McGraw-Hill Education, 2010
Teaching methods
- Lectures
- Practice in lab at the computer
Assessment methods
The exam consists in a Python project, required to access to the written exam, which consists in exercises about the theory of the course and programming exercises in C.
Teaching tools
Slides provided by the professors.
Office hours
See the website of Roberto Casadei
See the website of Vittorio Maniezzo