Università degli studi dell'Insubria

ALGORITMI E STRUTTURE DATI

A.A. di erogazione 2014/2015

Laurea triennale in INFORMATICA
 (A.A. 2014/2015)

Docenti

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.

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.

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.

- 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)

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.

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. 2019/2020

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2018/2019

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2017/2018

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2016/2017

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 1
Curriculum: PERCORSO COMUNE