Foto personale

Pagina personale di Maurizio VINCINI

Dipartimento di Ingegneria "Enzo Ferrari"

Contenuti Insegnamento: Fondamenti di Informatica II e Lab. - IEI

Corso di studio: Ingegneria Informatica (D.M.270/04) (offerta formativa anno 2013)
  • CFU: 9
  • SSD: ING-INF/05

Obiettivi formativi

Introdurre i concetti di base della programmazione strutturata, gli aspetti metodologici della programmazione la correttezza e la complessità degli algoritmi.

Prerequisiti

Aver frequentato l'insegnamento di Fondamenti di Informatica I e Lab.

Programma del corso

OBIETTIVI Il corso mira a far acquisire agli studenti i concetti, gli algoritmi e le metodologie della programmazione strutturata nel linguaggio C. Record di attivazione Record di attivazione delle funzioni, memoria stack, regole di visibilità e durata delle variabili e delle funzioni, variabili globali e statiche. Allocazione dinamica della memoria. Input e output. Funzioni e librerie standard. Organizzazione modulare dei programmi. Ricorsione Algoritmi ricorsivi, funzioni ricorsive. Tipi di dato strutturati. Matrici, strutture. Algoritmi di ricerca e ordinamento. Tipi di dato astratto. Liste, pile, code. Alberi binari: inserimento, ricerca, cancellazione. Complessità Complessità degli algoritmi, comportamento asintotico, valutazione della complessità dei programmi. File Gestione dei file di testo e binari. Memorizzazione liste e alberi Esercitazioni Il corso prevede esercitazioni in aula ed in laboratorio su tutte le tematiche svolte a lezione. Inoltre, verranno approfonditi gli argomenti riguardanti il progetto e realizzazione di programmi strutturati in linguaggio C mediante esercitazioni assistite presso il laboratorio didattico.

Testi di riferimento

A. Bellini, A. Guidi, "Linguaggio C", McGraw-Hill, quarta edizione, 2008. Kerningam, Ritche "Il linguaggio C " seconda edizione. Pearson - Prentice Hall.T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, "Introduzione agli algoritmi e strutture dati 2/ed", McGraw-Hill, 2005, ISBN: 9788838662515.