11929 - Algorithms and Data Structures (A-L)

Academic Year 2017/2018

  • Teaching Mode: Traditional lectures
  • 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