- Docente: Vittorio Maniezzo
- Credits: 12
- Language: Italian
- Moduli: Vittorio Maniezzo (Modulo 1) Moreno Marzolla (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Cesena
- Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)
-
from Feb 17, 2025 to Jun 10, 2025
-
from Feb 20, 2025 to Jun 05, 2025
Learning outcomes
Upon completion of the course, the student knows:
- algorithms for solving basic computational problems on elementary data structures;
- basic techniques for calculating the computational cost of algorithms;
- the P, NP, and NP-hard computational complexity classes.
In particular, the student is able to:
- design efficient algorithms for solving simple computational problems;
- estimate in order of magnitude the computational cost of algorithms;
- analyze the computational complexity of basic computational problems;
- assess the efficiency and correctness of an algorithm;
- design and develop a solution for basic computational problems.
Course contents
- basic notion of discrete mathematics for analyzing order of magnitude
- Sorting
- Median and selection
- Elementary data structures: stacks, queues, graphs
- Search algorithms on graphs
- basic algorithms on graphs
- Classes P and NP
- NP hard Problems
Readings/Bibliography
T. Cormen, C. Leiserson, R. Rivest. Introduction to algorithms. MIT Press.
Teaching methods
Lectures in class
Assessment methods
Additional optional written and oral exams. Project.
The exam consists of two tests, a project and a written (optional oral) exam. The project must be submitted and approved prior to the written exam and does not contribute to the final grade, but only qualifies the student to take the written exam.
Attendance is strongly recommended but not required.
The written exam, which lasts 1.5 hours, consists of three exercises, a multiple-choice quiz and a theoretical question that tests knowledge (knowing) and an exercise that tests skills (knowing how to do), which are discussed in the "Knowledge and Skills to be Achieved" section.
Tools such as calculators, vocabularies, codes, etc. are not allowed during the tests.
Active participation in class is rewarded.
Teaching tools
Lecture notes and handouts related to the textbook. They are not a substitute for the book itself.
Office hours
See the website of Vittorio Maniezzo
See the website of Moreno Marzolla