Laboratorio di Programmazione II

Anno Accademico 2019/20


Corso di studi offerto per:


Avvisi


Orario Lezioni

Date: Mercoledì 10:20 - 12:50, Giovedì 15:30 - 17:50
Luogo: Strada Le grazie 15, Ca' Vignal 1, Laboratorio Didattico Alpha


Obiettivi

L'obiettivo del corso è quello di fornire le conoscenze di base per l'implementazione di algoritmi fondamentali tramite la programmazione orientata agli oggetti. Il corso propone Java come linguaggio di riferimento. La metodologia di insegnamento prevede la produzione assistita di software e l'implementazione di progetti specifici. I progetti realizzati durante il corso si concentrano su applicazioni di interesse bioinformatico.


Al termine dell'insegnamento lo studente dovrà dimostrare di essere in grado di:

Educational Objectives

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:


Programma:

La programmazione orientata agli oggetti ed il linguaggio Java. Implementazione di semplici programmi in Java (tipi primitivi e strutture di controllo). Definizione di classi e metodi. Gestione delle eccezioni in Java. Realizzazione di metodi ricorsivi. Interfacce e packages. Implementazione di algoritmi di ordinamento, di ricerca (avidi ed esaustivi) ed algoritmi notevoli su grafi, applicati a problemi di interesse bioinformatico. Tutto il materiale didattico relativo a questo insegnamento e' reperibile nella pagina web dedicata a questo corso sul sito del docente.

Syllabus:

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.

Modalita' d'esame:

Il voto dell'esame di "Algoritmi" è dato dalla media dei voti dei moduli "Algoritmi per Bioinformatica" e "Laboratorio di Programmazione II".
Il voto finale del modulo di "Laboratorio di Programmazione II" può essere conseguito con un'unica prova orale o tramite la discussione orale di un progetto che prevede l'implementazione di alcuni moduli software sviluppati durante il corso.
Le date per le prove orali delle singole studentesse e dei singoli studenti vengono concordate con il docente alla fine delle lezioni e sono concentrate nelle date previste per gli appelli.
Durante la prova orale il docente chiede alle studentesse ed agli studenti di svolgere alcuni esercizi al calcolatore e pone delle domande al fine di valutare la comprensione degli argomenti trattati durante il corso.
Per la discussione del progetto, le studentesse e gli studenti consegnano al docente il software sviluppato ed il docente pone delle domande volte a valutare il livello di comprensione del software presentato. Le domande possono prevedere la scrittura e l'esecuzione di porzioni di codice.
La discussione del progetto può essere sostenuta una sola volta nelle date previste per gli appelli di Giugno e Luglio.

Exam Methods:

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 can be carried out by a single oral test or by an oral discussion of a project. The project involves the implementation of some software modules developed during the course.
The exact date and time for the oral test of each student are agreed with the teacher at the end of the course and are concentrated on the dates scheduled for the exam.
During the oral test, the teacher asks the students to solve some exercises, that require the implemention and execution of code on the computer, and asks questions in order to evaluate their understanding of the topics covered during the course.
For the discussion of the project, the students deliver the developed software to the teacher and the teacher asks questions aimed at evaluating the level of understanding of the software presented. Some questions may involve implementing and executing portions of code.
The oral discussion of the project can only be taken once in the dates for the exams scheduled in June and July.

 

Date per il colloquio sul progetto (Dates for oral exam)

Le date saranno comunicate verso la fine del corso (dates will be provided towards the end of the course).


Procedura di prenotazione colloquio (How to subscribe to the exam)

Tutti gli studenti che intendono sostenere il colloquio sono pregati di mandare una e-mail per la prenotazione al docente, almeno tre giorni prima della data scelta per il colloquio. (all interested students should send an e-mail to the teacher at least three dates before the preferred date)
 

Docente/Teacher: Alessandro Farinelli