11929 - Algorithms and Data Structures (M-Z)

Academic Year 2017/2018

  • Moduli: Vittorio Maniezzo (Modulo 1) Francesco Strappaveccia (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

Lecture notes and handouts.

Office hours

See the website of Vittorio Maniezzo

See the website of Francesco Strappaveccia