Teaching
Insegnamenti/Corsi (mainly in Italian)
Introduzione agli Algoritmi (dall'A.A. 2020-21 ad oggi e A.A. 2009-10)
Introduzione agli Algoritmi in Teledidattica (dall'A.A. 2017-2018 ad oggi)
Informatica Generale canale A-H - corso di laurea in matematica (dall'A.A. 2010-11 al 2019-20)
Algoritmi per la visualizzazione (dall'A.A. 2002-03 all'A.A. 2009-10))
Programmazione I canale A-D (A.A. 2006-07)
Master in Calcolo Scientifico: Algoritmi e Strutture Dati (A.A. 2002/2003)
Percorsi d'eccellenza / Honours Programme
Per studenti magistrali / For master students
Algoritmi su grafi per la network medicine / Graph algorithms for network medicine
In informatica, i grafi e le reti sono strutture dati atte ad immagazzinare informazioni; in altre parole, sono gli oggetti migliori per rappresentare sistemi complessi che rappresentano interazioni binarie o relazioni tra varie entità. La network medicine è un'applicazione relativamente recente della teoria dei grafi e degli algoritmi su grafi per l'identificazione, la prevenzione e il trattamento delle malattie.
Da quando è stata proposta la network medicine, gli approcci basati su grafi hanno offerto strumenti efficaci per esplorare sistematicamente la complessità intrinseca delle malattie, portando all'identificazione delle loro specificità, identificando nuove mutazioni geniche ad esse associate.
Più recentemente, i grafi sono stati sfruttati anche per la medicina personalizzata, ovvero l'uso sistematico delle caratteristiche individuali del paziente per determinare quale opzione terapeutica abbia maggiori probabilità di determinare un risultato migliore per il paziente.
La nostra ricerca si sviluppa in questo contesto: sfruttiamo i grafi per modellare alcune informazioni mediche disponibili in relazione a diversi tipi di cancro, al fine di capire perché alcuni pazienti reagiscono positivamente a un certo trattamento farmacologico mentre questo fallisce su altri pazienti, che apparentemente hanno lo stesso quadro clinico.
Il problema esatto da gestire verrà selezionato dopo aver discusso con gli studenti interessati, cercando di affrontare i loro interessi e dando loro la possibilità di esprimere idee originali.
In computer science, graphs and networks are widely exploited data structures to store information; namely, they are the best objects to represent systems as complex sets of binary interactions or relations between various entities. Network medicine is a relatively recent application of graph theory and graph algorithms towards the identification, prevention, and treatment of diseases.
Since when network medicine has been proposed, the graph-based approaches have offered effective tools to systematically explore the intrinsic complexity of diseases, leading to the identification of disease specificities, identifying new disease-associated gene mutations.
More recently, graphs have been exploited also for personalized medicine, that is the systematic use of individual patient characteristics to determine which treatment option is most likely to result in a better average outcome for the patient.
Our research is developed in this context: we exploit graphs to model some available medical information in connection with several kinds of cancer, in order to understand why some patients positively react to certain drug treatment while it fails on other patients, with apparently the same clinical situation.
The exact problem to handle will be selected after discussing with the interested students, trying to address their interests and giving them the possibly to express original ideas.
Algoritmi per la Geometria Computazionale / Computational Geometry Algorithms
La geometria computazionale è quel ramo dell'algoritmica che si occupa di risolvere efficientemente problemi geometrici in modo automatico.
Gli algoritmi di geometria computazionale richiedono tipicamente strutture dati abbastanza sofisticate.
Percorsi di questo tipo prevedono lo studio approfondito di algoritmi che risolvono problemi geometrici con particolare attenzione al loro costo computazionale.
Il problema esatto sarà selezionato insieme allo studente, a seconda dei suoi interessi.
Computational geometry is the branch of Algorithms dealing with efficient solutions to geometric problems. Typically, computational geometry algorithms require sophisticated data structures.
Studies in this context consist of studying some notable examples of computational geometry algorithms with particular attention to their computational complexity. The exact problem will be selected after discussing it with the interested student, trying to address her/his interests
Per studenti triennali / For bachelor students
Algoritmi su grafi per risolvere problemi in Biologia / Graph algorithms for solving problems in biology
La bioinformatica non riguarda solo la biologia: ha anche un profondo impatto sulle scienze computazionali. La biologia è diventata rapidamente una grande fonte di nuovi problemi nell'ambito informatico ed è stata senza dubbio l'obiettivo di un maggior numero di algoritmi che qualsiasi altra scienza fondamentale.
Alcuni problemi biologici possono essere risolti modellandoli come problemi su grafi. Gli studi in questo contesto consistono nell'approfondire prima il problema biologico, e poi i modelli e le soluzioni conosciute.
L'esatto problema da trattare sarà selezionato dopo averne discusso con gli studenti interessati (anche dipendentemente dal fatto che siano studenti di triennale o di magistrale), cercando di assecondare i loro interessi e dando loro la possibilità di dare idee originali.
Bioinformatics affects more than just biology: it also has a profound impact on the computational sciences. Biology has rapidly become a large source of new problems in computer science and has arguably been the target for more algorithms than any of the other fundamental sciences.
Some biological problems can be solved by modeling them as graph problems. Studies in this context consist in deepening first the biological problem, and then known models and solutions.
The exact problem to handle will be selected after discussing with the interested students, trying to address their interests, and giving them the possibility to express original ideas.