Algorithms and Data Structures, Academic Year 2011/2012

International Bologna Master in Bioinformatics

Luciano Bononi

| Reception hours for students | Classes Schedule | Course Contents | Exams | Course Material | FAQs |

The written and oral exams for the course 66554 - ALGORITHMS AND DATA STRUCTURES will have the following calendar:

Meeting point:
Department of Computer Science (50 meters from your lab)
Mura Anteo Zamboni 7, ground floor.
See on the map.
My office is number T08.

--- June 2012
Written: Wednesday June 20, 9.45am, (please note this was announced on June 21 during the lessons but has to be anticipated one day)
Oral: Wednesday June 20, 14.30pm and Thursday June 21, 9.30am.

--- July 2012
Written: Thursday July 19, 14.00pm,
Oral: Friday July 20, 9.30am

Individual changes of the oral dates can be planned upon motivated request only.
The next session will be on September/October.
In this document you can find some exercises for self-evaluation in preparation to the written exams.


Classes schedule Algorithms and Data Structures 2011-2012

The classes schedule can be found at the following address Bioinformatics Portal and in this page (see elow). The planned calendar for classes is the following:

Monday April 16, 2012, 9h00-13h00 (Lab),

Monday April 23, 2012, 9h00-13h00 (Lab),

Tuesday April 24, 2012, 9h00-13h00 (Lab),

Friday April 27, 2012, 9h00-13h00 (Lab),

Monday April 30, 2012, 9h00-13h00 (Lab),

Friday May 4, 2012 9h00-13h00 (Lab),

Tuesday May 8, 2012, 9h00-13h00 (Lab),

Friday May 11, 2012, 9h00-13h00 (Lab),

Monday May 14, 2012, 9h00-13h00 (Lab),

Friday May 18, 2012, 9h00-13h00 (Lab),

Monday May 21, 2012, 9h00-13h00 (Lab),


Back on top

Course Contents and Aims

The aim of the course is to provide students with basic knowledge about the design, implementation and analysis of correct and efficient algorithms and data structures supporting the modeling and analysis of complex systems.
Specifically, the course will introduce to basic data structure models and design concepts, and to the relationship with the design of scalable and efficient algorithms able to exploit the opportunely defined data structures.
The aim is to introduce the students to the common issues, techniques, skills and methodologies allowing for the realization of complex computation platforms for massive and complex data structures, under the requirements of a reduced space (memory) and time (computation) complexity viewpoint. The exploration of parallel/distributed computation and related bottlenecks (communication and synchronization) will be introduced.
At the end of the course, the students will have basic knowledge on algorithms and data structures. In particular, students will be able to:

  • design correct and efficient algorithm for common computational tasks

  • analyze existing algorithms and data structures, and possibly optimize the design

  • design and analyze new algorithms and data structures for specific tasks and computation architectures.

Back on top

Exams and procedures

The exams will be organized in different sessions at the end of the scheduled classes. The exam will consist of a written/practical exercise and an oral set of questions. More details will be provided during the classes (example of exam exercises and questions, provide as homeworks.

Remember to bring your valid documents with photo for identification during the exams.

Back on top

Course Material

This section of the webpgae will contain the pdf version of the presentation slides to be used during the classes. Most of the slides have been created by former instructor Dr. Gabriele D'Angelo and have been revised by next instructors during the years. The slides are not self-contained, and they are not meant to substitute the participation to classes. They will be complemented with additional material (links, external references, homeworks) during the classes.

Slides' Collection 1 (pdf, 1 MB)

Slides' Collection 2 (pdf, 466 KB)

Slides' Collection 3 (pdf, 970 KB)

Slides' Collection 4 (2x, pdf, 552 KB)

Slides' Collection 5 (2x, pdf, 667 KB)

Slides' Collection 6 (2x, pdf, 867 KB)

Slides' Collection 7 (pdf, 209 KB)

Slides' Collection 8 (pdf, 430 KB)

Slides' Collection 9 (2x, pdf, 1.5 MB)

Slides' Collection 10 (2x, pdf, 1.5 MB)

In this document you can find some exercises for self-evaluation in preparation to the written exams.


This page will contain the answers to Frequently Asked Questions that I receive via e-mail. Try to get your answers in this page before to send me emails with information requests. (Frequently Asked Questions, FAQs).

Some useful readings and books (not necessarily to be purchased).

  • Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft, Data Structures and Algorithms, Addison Wesley, 1983.

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to Algorithms, McGraw-Hill, 2001.

  • Donald E. Knuth, The Art of Computer Programming, Volumes 1-3, Addison-Wesley Professional, 1998.

  • S.B. Kishor, Data Structures, Edition 3, Das Ganu Prakashan, Nagpur, 2008.

  • Further information, books, and material will be provided as a Web reference.

Back on top