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: 2016/2017
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01Affine/IntegrativaLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
1290312072048
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

Il modulo si pone tre obiettivi principali: - introdurre lo studente allo sviluppo di metodologie strutturare per modelizzare varie situazioni in termini di grafi - mostrare una serie di soluzioni di problemi tipiche della teoria dei grafi - migliorare le competenze dello studente in termini di analisi e codifica di algoritmi

Learning Goals

The module has three main goals: - introduce the student to the employment of structured methodologies to model various situations in terms of graphs - show a series of solutions to problems typical of the graph theory - increase the proficiencies of the student in terms of both analysis and coding of algorithms

Metodi didattici

Lezioni frontali, svolgimento di esercitazioni in aula e a casa

Teaching Methods

Frontal lectures, discussions of exercises, homeworks

Prerequisiti

Lo studente deve conoscere i fondamenti della programmazione e del corso di Algoritmi (o equivalente)

Prerequisites

The student must know the basics of Programming and Algorithms (or equivalent)

Verifiche dell'apprendimento

L'apprendimento verrà verificato mediante la valutazione di una serie di esercizi da svolgere individualmente a casa e un progetto finale da discutere durante l'esame orale.

Assessment

Learning will be verified through the evaluation of homework exercises and a final project to be discussed during the oral examination.

Programma del Corso

---Python Primer Python Overview Objects in Python: identifiers, objects, assignment, creating and using objects, built-in classes Expressions, Operators and Precedence Control Flow: conditionals, loops Functions: Information passing, built-in functions I/O management in Python Exception Handling: raising an exception, catching an exception Iterators and Generators Scopes and Namespaces Modules ---Object-Oriented Programming Object-Oriented design goals, design principles and design patterns Software Development: design, pseudo-code Class Definitions: overloading and special methods, iterators Inheritance Namespaces and Object-Orientation Shallow and Deep Copying Multiple Inheritance ---Algorithm Analysis Primitive operations Asymptotic Analysis: $\Theta$-notation, $O$-notation, $\Omega$-notation ---Graph Algorithms The Graph Abstract Data Type Data structures for graphs: edge list, adjacency list, adjacency map, adjacency matrix ---Graph Traversals: Depth-First Search, Breadth-First Search Transitive closure Directed Acyclic Graphs: topological ordering Shortest Paths: Weighted graphs, Dijkstra's algorithm Minimum spanning trees: Prim-Jarnik algorithm, Kruskal algorithm ---Network Science: Introduction Degree, average degree and degree distribution Weighted networks, bipartite networks Paths and Distances Connectedness Clustering Coefficient ---Network Science: Random Networks The random network model Number of links Degree distribution Real Networks are not Poisson Evolution of a random network Real networks are supercritical Small worlds Clustering coefficient ---Network Science: The scale-free property Power laws and scale-free networks Hubs The meaning of scale-free Universality Ultra-small property The role of the degree exponent ---Network Science: The Barabasi-Albert model Growth and preferential attachment The Barabasi-Albert model Degree dynamics, degree distribution The absence of growth or preferential attachment Measuring preferential attachment Non-linear preferential attachment The origins of preferential attachment ---Network Science: Evolving Networks The Bianconi-Barabasi model Measuring fitness

Course Syllabus

---Python Primer Python Overview Objects in Python: identifiers, objects, assignment, creating and using objects, built-in classes Expressions, Operators and Precedence Control Flow: conditionals, loops Functions: Information passing, built-in functions I/O management in Python Exception Handling: raising an exception, catching an exception Iterators and Generators Scopes and Namespaces Modules ---Object-Oriented Programming Object-Oriented design goals, design principles and design patterns Software Development: design, pseudo-code Class Definitions: overloading and special methods, iterators Inheritance Namespaces and Object-Orientation Shallow and Deep Copying Multiple Inheritance ---Algorithm Analysis Primitive operations Asymptotic Analysis: $\Theta$-notation, $O$-notation, $\Omega$-notation ---Graph Algorithms The Graph Abstract Data Type Data structures for graphs: edge list, adjacency list, adjacency map, adjacency matrix ---Graph Traversals: Depth-First Search, Breadth-First Search Transitive closure Directed Acyclic Graphs: topological ordering Shortest Paths: Weighted graphs, Dijkstra's algorithm Minimum spanning trees: Prim-Jarnik algorithm, Kruskal algorithm ---Network Science: Introduction Degree, average degree and degree distribution Weighted networks, bipartite networks Paths and Distances Connectedness Clustering Coefficient ---Network Science: Random Networks The random network model Number of links Degree distribution Real Networks are not Poisson Evolution of a random network Real networks are supercritical Small worlds Clustering coefficient ---Network Science: The scale-free property Power laws and scale-free networks Hubs The meaning of scale-free Universality Ultra-small property The role of the degree exponent ---Network Science: The Barabasi-Albert model Growth and preferential attachment The Barabasi-Albert model Degree dynamics, degree distribution The absence of growth or preferential attachment Measuring preferential attachment Non-linear preferential attachment The origins of preferential attachment ---Network Science: Evolving Networks The Bianconi-Barabasi model Measuring fitness

Testi di riferimento: Cormen, Leiserson, Rivest, Stein, "Introduction to ALgorithms", third edition, ISBN-13: 978-0262033848 "Graph algorithms", a collection of readings from Wikipedia 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 Barabasi, Network Science, freely available

Elenco delle unità didattiche costituenti l'insegnamento

ADVANCED ALGORITHMS AND COMPUTATIONAL MODELS A

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:

ADVANCED ALGORITHMS AND COMPUTATIONAL MODELS B

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