Università degli studi dell'Insubria

ALGORITMI E STRUTTURE DATI

A.A. di erogazione 2016/2017

Laurea triennale in INFORMATICA (A.A. 2016/2017)
Anno di corso: 
1
Tipologia di insegnamento: 
Caratterizzante
Settore disciplinare: 
INFORMATICA (INF/01)
Lingua: 
Italiano
Crediti: 
9
Ciclo: 
Secondo Semestre
Ore di attivita' frontale: 
72
Dettaglio ore: 
Lezione (72 ore)

Obiettivi dell’insegnamento e risultati di apprendimento attesi
Conoscenza e capacità di comprensione
Il corso fornisce le conoscenze di base relative alle principali strutture dati e ai principali algoritmi associati. Vengono acquisite le tecniche di base per la progettazione e l'analisi degli algoritmi, insieme alla capacità di sviluppare programmi software per i più classici problemi legati all’elaborazione dei dati
Conoscenza e capacità di comprensione applicate
Acquisizione delle capacità di trasferimento delle conoscenze dagli ambiti teorici e metodologici a quelli più generalmente professionali, con possibilità di operare e di affrontare problematiche applicative inerenti alle specifiche tematiche studiate.
Autonomia di giudizio e abilità comunicative
I risultati di apprendimento attesi comprendono la capacità di saper individuare gli algoritmi e le strutture dati di base più indicate in un dato contesto, acquisendo al tempo stesso una proprietà di linguaggio tale da poter formalizzare un problema in modo idoneo a una sua trattazione informatica.
Capacità di apprendere
La conoscenza delle tecniche di base inerenti il mondo degli algoritmi e delle strutture di dati permette l’acquisizione di adeguate capacità per l'approfondimento delle proprie conoscenze e per lo sviluppo individuale di nuove competenze.

Prerequisiti: 

Viene richiesta la conoscenza di un linguaggio di programmazione di tipo procedurale, meglio se corredata da elementi di base relativi all’architettura di un elaboratore.

Contenuti e programma del corso
Formalizzazione dei problemi, complessità degli algoritmi, notazioni asintotiche (6h))
Modelli di calcolo (RAM, RASP) e criteri di costo (6h)
Caratteristiche dei linguaggi procedurali (2h)
Strutture dati elementari (vettori, matrici, liste, pile, code) (6h)
Grafi e alberi, rappresentazioni e algoritmi di visita (10h)
Il problema dell’ordinamento: aspetti generali e algoritmi elementari (4h).
Tecnica di progettazione Divide et Impera (2h)
Ordinamento digitale e algoritmi d’ordinamento avanzati (6h)
Heap e Heapsort (2h)
Tabelle hash (4h)
Alberi binari di ricerca (6h)
Alberi bilanciati (2-3, 2-3-4, red-black) (8h)
Operazioni su partizioni (Union e Find) (2h)
Problemi di ottimizzazione (4h)
Programmazione dinamica (4h)

Tipologia delle attività didattiche
Lezioni frontali (72h)

Testi e materiale didattico
A scelta tra:
R. Sedgewick, Algoritmi in Java (3ed.), Pearson Education Italia.
R. Sedgewick, K. Wayne, Algorithms, 4th Edition, Addison-Wesley Professional 2011
in aggiunta a dispense e slide disponibili sul sito di e-learning.

Modalità di verifica dell’apprendimento
L’esame consiste in una prova scritta a cui fa seguito una prova orale. Durante il corso sono previste due prove parziali il cui superamento comporta l’esonero dalla prova scritta. Lo scritto, della durata di 2 ore, prevede una serie di 5-6 quesiti relativi agli argomenti trattati a lezione. L’esito positivo (valutato in trentesimi) della prova scritta permette sia una verbalizzazione diretta sia l’accesso alla successiva prova orale, consistente in 2 fasi:
una revisione della prova scritta in cui l’allievo viene informato sui criteri di correzione e chiamato a fornire eventuali precisazioni, permettendo così al docente di modificare eventualmente il giudizio
un colloquio d’approfondimento con il docente, volto ad accertare l’acquisizione e la corretta comprensione dei diversi contenuti del corso.
Una brillante prova orale può bilanciare una prova scritta poco convincente e permettere il raggiungimento di una valutazione complessiva (in trentesimi) di assoluto livello.

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2017/2018

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2014/2015

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2012/2013

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2011/2012

Anno di corso: 1
Curriculum:

A.A. 2010/2011

Anno di corso: 1
Curriculum: