Course code
Academic sector
Language of instruction
Teaching is organised as follows:
Activity Credits Period Academic staff Timetable
Teoria 2 II semestre Alessandro Farinelli

Go to lesson schedule

Laboratorio 4 II semestre Alessandro Farinelli

Go to lesson schedule

Learning outcomes

The objective of the course is to provide the basic knowledge to implement fundamental algorithms using object oriented programming. The reference programming language is Java. The teaching methodology includes assisted software development and the implementation of specific projects. The projects implemented during the course focus on applications that are relevant to bioinformatics.

At the end of the course the student must be able to:
-- implement and verify algorithms to solve basic computational problems;
-- implement software modules using the object-oriented programming paradigm;
-- use the main data structures available in Java and develop new data structures for the implementation of specific software modules.


Object oriented programming and the Java language. Implementation of simple programs in Java (primitive types and control structures). Definition of classes and methods. Exception management in Java. Recursion. Interfaces and packages. Implementation of sorting algorithms, search (greedy and exhaustive) and main algorithms on graphs, applied to problems that are relevant to bioinformatics. All the teaching material for this course is available on the course web page hosted on the teachers' web site.

Assessment methods and criteria

The grade in "Algorithms" is given by the average of the grades in "Algorithms for Bioinformatics" and the grade in "Programming Laboratory II".
The exam for "Programming Laboratory II" involves the implementation and verification of code written in Java language and it is performed using the computer.
The exam can be carried out by partial tests or by a single test.
Partial exam is made up of a computer test (conducted in the lab during the course) and a project (developed during the course) that will be presented in an oral exam to the teacher at the end of the course. The final vote is given by the average of the votes of the two partial tests.
Exam without partial testing is a single computer test performed at the exam dates.
All tests and projects are individual work. Cheating is strictly forbidden and will determine lowering of grades for all students involved.

Reference books
Activity Author Title Publisher Year ISBN Note
Teoria Neil C. Jones, Pavel A. Pevzner An introduction to bioinformatics algorithms (Edizione 1) MIT Press 2004 0-262-10106-8
Teoria Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 978-0-262-53305-8