Offerta Didattica

 

ENGINEERING AND COMPUTER SCIENCE

ADVANCED ALGORITHMS AND COMPUTATIONAL MODELS (yearly)

Classe di corso: LM-32, 18 - Classe delle lauree magistrali in Ingegneria informatica
AA: 2019/2020
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01Affine/IntegrativaLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
128049648048
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

La Network Science è una disciplina che permette un approccio unificato a problemi molto differenti tra loro (reti sociali online e offline, reti di trasporto/commercio, brain network, interazioni tra proteine, diffusione di epidemie). Obiettivo del modulo è introdurre lo studente allo studio e allo sviluppo autonomo di metodologie per la modellizzazione di vari problemi in termini di reti. Il modulo si articola in tre macroaree: dapprima viene introdotta la programmazione Python, oggi fondamentale per la Network e Data Science, successivamente vengono studiati i principali algoritmi sui grafi e, nella terza parte, vengono studiati i più importanti modelli di reti, sia statici che dinamici. Il modulo si pone lobiettivo di: - Sviluppare competenze per lidentificazione, la modelizzazione e limplementazione mediante un linguaggio di programmazione (Python nello specifico) di problemi riconducibili alla presenza/assenza di interazioni di coppia tra entità. - Acquisire un lessico appropriato alla disciplina che consenta una efficace e precisa comunicazione - Acquisire un metodo di studio adeguato a consentire lapprofondimento delle conoscenze e di tematiche specifiche.

Learning Goals


Metodi didattici

Lezioni frontali ed esercitazioni in aula

Teaching Methods


Prerequisiti

E richiesta la conoscenza di un linguaggio di programmazione (preferibilmente, ma non obbligatoriamente, ad oggetti) e dei concetti fondamentali normalmente appresi in un corso come Algoritmi e Strutture Dati.

Prerequisites


Verifiche dell'apprendimento

Durante il corso vengono assegnati degli esercizi facoltativi che, in caso di corretta esecuzione, danno diritto ad un bonus sul voto finale. Lo studente deve elaborare un progetto (di cui sono fornite specifiche stringenti) che discuterà allorale. La conoscenza e la comprensione degli argomenti del modulo viene verificata mediante un test a risposta multipla (30 domande, una sola risposta giusta, due distrattori e una risposta palesemente sbagliata, senza penalità).

Assessment


Programma del Corso

Programmazione Python: espressioni, operatori, flusso di controllo, funzioni, gestione dellinput/output, gestione delle eccezioni, iteratori e generatori, namespace, moduli, fondamenti della programmazione orientata agli oggetti, definizione delle classi, ereditarietà singola e multipla. Algoritmi: analisi degli algoritmi, operazioni primitive, analisi asintotica. Strutture dati per grafi, esplorazione in profondità e in ampiezza, chiusura transitiva, ordinamento topologico in grafi diretti aciclici, algoritmo di Dijkstra per la determinazione dei cammini minimi, alberi di ricopertura minima: algoritmi di Prim-Jarnik e Kuskal. Network Science: introduzione, grado, grado medio e distribuzione del grado, metriche. Reti random: modello di Erdos-Renyi, distribuzione del grado, concetto di small world, proprietà di invarianza di scala, modello di Barabasi-Albert, modello di Bianconi-Barabasi, correlazione di grado (reti assortative e disassortative), comunità.

Course Syllabus


Testi di riferimento: - Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser, Data Structures and Algorithms in Python, Wiley and sons, 2013, ISBN : 978-1-118-54958-2 - Albert Laszlo Barabási, Network Science, disponibile online - Cormen, Leiserson, Rivest, Stein, "Introduction to Algorithms", third edition, ISBN-13: 978-0262033848

Elenco delle unità didattiche costituenti l'insegnamento

Docente: GIACOMO FIUMARA

Orario di Ricevimento - GIACOMO FIUMARA

GiornoOra inizioOra fineLuogo
Lunedì 11:30 13:30Edificio principale dell'ex facoltà di Scienze MM. FF. NN. (secondo piano), blocco dell'ex direzione del Dipartimento di Matematica. Prenotarsi mediante email
Mercoledì 11:30 13:30Edificio principale dell'ex facoltà di Scienze MM. FF. NN. (secondo piano), blocco dell'ex direzione del Dipartimento di Matematica. Prenotarsi mediante email
Note:

Docente: MASSIMO VILLARI

Orario di Ricevimento - MASSIMO VILLARI

GiornoOra inizioOra fineLuogo
Martedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Giovedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Note:
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti