Scheda insegnamento

Informatica generale                  

anno accademico:   2013/2014
docenti:  Tiziana Calamoneri, Ivano Salvo
corso di laurea:  Matematica - DM 270/04 (triennale)
tipo di attività formativa:  di base
crediti formativi:  9 (72 ore di lezione)
raggruppamento disciplinare:  INF/01 Informatica
lingua di insegnamento:  italiano
canale:   A-H
periodo:  II sem (03/03/2014 - 13/06/2014)


Aula ed orario di lezione

Frequenza: consigliata

Programma di massima del corso:

Descrizione e progettazione di algoritmi efficienti

  • Introduzione ai concetti di algoritmo, di struttura dati, di efficienza, di complessita' computazionale.
  • Notazione asintotica.
  • Introduzione alla ricorsione.
  • Il problema dell'ordinamento.
  • Strutture dati fondamentali (vettori, liste, pile, code, code con priorit‡, alberi).
  • Dizionari.
  • Grafi.

Linguaggio C

  • Regole di "buona programmazione" (programmazione strutturata).
  • Nozioni elementari del linguaggio C.
  • Vettori.
  • Funzioni.
  • Ricorsione in C.
  • Puntatori.
  • Liste e alberi binari.

Testo consigliato: T.H. Cormen, C.E. Leiserson, R.L. Rivest e C. Stein, "Introduzione agli Algoritmi", seconda edizione, Mc Graw Hill, 2005. (disponibile sia in vers. italiana che inglese)

Modalità di erogazione: convenzionale

Risultati di apprendimento - Conoscenze acquisite: Al termine del corso gli studenti conosceranno le metodologie di base per la progettazione e l'analisi di algoritmi iterativi e ricorsivi, le principali strutture dati, alcuni modi per scandire tali strutture, i principali algoritmi di ordinamento e le implementazioni pi˘ elementari dei dizionari. Avranno inoltre le nozioni basilari sugli alberi ed i grafi. Saranno in possesso delle conoscenze necessarie allo sviluppo di programmi e funzioni, anche ricorsive, mediante il linguaggio C.

Risultati di apprendimento - Competenze acquisite: Al termine del corso gli studenti avranno acquisito familiarita' con le principali strutture dati elementari. Sapranno spiegare e analizzare la complessit‡ degli algoritmi di base che su esse si implementano, evidenziando come le prestazioni dipendano dalla struttura dati utilizzata. Saranno in grado di progettare nuove strutture dati e i relativi algoritmi, rielaborando quelli esistenti. Sapranno spiegare i principali algoritmi di ordinamento, illustrando le stategie di progetto sottostanti e la relativa analisi di complessit‡. Saranno in grado di confrontare i comportamenti asintotici dei tempi di esecuzione degli algoritmi. Saranno in grado di progettare ed implementare in C soluzioni di nuovi problemi, sia ricorsive che iterative, e di analizzare asintoticamente gli algoritmi risultanti.

Studio personale: la percentuale prevista di studio personale sul totale dell'impegno richiesto è del 65%

Calendario appelli d'esame su Infostud

Dati statistici relativi ai risultati degli esami

© Università degli Studi di Roma "La Sapienza" - Piazzale Aldo Moro 5, 00185 Roma