Algorithms and Data Structures - Laboratorio (2007/2008)

Course Not running, not visible

Course code
Name of lecturer
Giuditta Franco
Number of ECTS credits allocated
Academic sector
Language of instruction
1° Q, 2° Q

To show the organization of the course that includes this module, follow this link * Course organization

Lesson timetable

Learning outcomes

In the laboratory of Algorithms and Data Structures the expertise of students on object programming will be improved in order to implement advanced data structures and algorithms. Lectures will be focused on Java language, of which it is expected a knowledge at a basic level.


Lecture 1: Use of interface mechanism. Example of application by implementation of ADT lists, codes, e piles.

Lecture 2: Use of comparable interface. Implementation of ordering algorithms by insertion (InsertionSort) and by decrementing (ShellSort).

Lecture 3: Techniques to compare implementation methods. Comparison between ordering algorithm implementations: QuickSort and MergeSort.

Lecture 4: Refresh of Javadoc and Exceptions concepts. Implementation of ADT Tree and binary search tree.

Lecture 5: Use of interface Iterator. Implementation of visit methods. Sketches on algorithms for construction of suffix trees.

Lecture 6: Implementation of a dynamic programming algorithm: search of maximum common subsequence (MaxSSC).

Lecture 7: Exact string matching algorithms.

Lecture 8: Implementation of a greedy algorithm: Kruskal algorithm.

Assessment methods and criteria

Written exam divided in two parts: Teoria and Laboratorio. The time allowed for the test is 3 hours: 2 hours for the theory part and 1 hour for the laboratory part. Candidates must score at least 18/30 for each part of the test. The overall final score is calculated as the weighted sum of the two individual scores with weights 4/5 for the theory part and 1/5 for the practical part.

Teaching aids