- Docente: Luciano Margara
- Credits: 12
- Language: Italian
- Moduli: Luciano Margara (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)
Learning outcomes
At the end of the course the student: - knows the basic algorithms and data structures; - knows how to compute computational costs; - Knows the classes P and NP; he can dvise fficient algorithms for solving simple computational problems; he can estimate the order of magnitude of the cost of a given algorithm; he can analyze the complexity of a problem; he knows techniques for analyze the correctness and the efficiency of an algorithm; he is able to write and to present a project for solving a computational problem.
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
Written and oral exam. Project.
Teaching tools
- Slides and books
Office hours
See the website of Luciano Margara
See the website of Moreno Marzolla