LiiS:CorsiFondamenti

Da Wikipedia, l'enciclopedia libera.

Contents

Fondamenti di Informatica I

Anno: I
Periodo: primo
Crediti Formativi Universitari: 6
Settore Scientifico Disciplinare: ING-INF/05

Docente

PhD. Ing. Simone Molendini

Nel 1999 ha conseguito con lode la Laurea in Ingegneria Informatica e nel 2004 il Dottorato di Ricerca svolgendo Tesi su "La Qualita' del Servizi in Internet". Attualmente lavora presso il Laboratorio per l'Internetworking e l'Interoperabilita' tra i Sistemi del Dipartimento di Ingegneria dell'Innovazione dell'Universita' di Lecce. I suoi interessi di ricerca includono la segnalazione in Internet, la trasmissione affidabile via satellite e l'hand off rapido fra reti senza fili. Referente per IEEE/ACM Transactions on Networking, e' coautore del RFC2961 "RSVP Refresh Overhead Reduction Extensions" sviluppato all'interno della Internet Engineering Task Force (IETF).

recapito telefonico: 0832297310 e-mail: simone.molendini@unile.it sede dello studio: Laboratorio per l'Internetworking e l'Interoperabilita' tra i Sistemi (LIIS) - Stecca orario di ricevimento: - Lunedi 10.00 - 12.00

Obiettivi del corso

Il corso fornisce i contenuti relativi alla programmazione in linguaggio C, illustrando e applicando i principi della programmazione strutturata. Inoltre viene fornita una moderna introduzione alle strutture dati utilizzando il linguaggio C. Vengono infine presentate le metodologie e tecniche di progettazione di algoritmi e alcuni cenni per l'analisi dell'efficienza degli algoritmi. Requisiti

Non si richiedono conoscenze pregresse. Nessuna propedeuticita'.

Programma

Linguaggio C

Sviluppo di programmi strutturati. Il controllo del programma. Le funzioni. I vettori. I puntatori. I caratteri e le stringhe. Formattazione dell'Input/Output. Strutture, unioni, manipolazione di bit, Enumerazioni. Gestione di file. Il preprocessore C. Ridirezione dell'I/O. Lista di argomenti a lunghezza variabile. Argomenti da linea di comando. Compilazione di programmi con piu' file sorgente. Terminazione di un programma. Gestione dei segnali. Allocazione dinamica della memoria.

Introduzione agli algoritmi

Introduzione agli algoritmi. Introduzione alle strutture dati. Ricorsione. Tail recursion. Analisi e progettazione di algoritmi. Analisi del running time di un algoritmo nel caso peggiore. Notazione asintotica. Cenni di complessita' computazionale.

Strutture dati

Liste semplici, doppie e circolari. Pile. Code. Insiemi. Hash Tables. Alberi binari. Heaps. Code con priorita'. Grafi.

Esercitazioni sul linguaggio C

Esercitazione su ricorsione e complessita' algoritmica

Esercitazione su strutture dati

Testi d'esame consigliati

"C Corso completo di programmazione, seconda edizione" di Harvey M. Deitel e Paul J. Deitel, editore Apogeo. "C How to program, fourth edition" di di Harvey M. Deitel e Paul J. Deitel, editore Pearson Education International. "Mastering Algorithms with C" di Kyle Loudon, editore O'Reilly. Modalita' d'esame:

Materiale Didattico

Esempi utilizzati durante la lezione Esempi


Appelli A.A. 2007/08

L'esame consiste in una prova scritta ed una orale.

Appelli AA 2005/06: Quesiti e Soluzioni

Appelli AA 2006/07: Quesiti e Soluzioni

I Appello Scritto: 10 Dicembre 2007 ore 15.00 Orale: 18 Dicembre 2007 ore 15.00 Quesiti e Soluzioni

II Appello Scritto: 10 Gennaio 2008 ore 15.00 Orale: 14 Gennaio 2008 ore 15.00 Quesiti e Soluzioni

III Appello Scritto: 27 Marzo 2008 ore 15.00 Orale: 1 Aprile 2008 ore 15.00 Quesiti e Soluzioni

IV Appello Scritto: 10 Aprile 2008 ore 15.00 Orale: 15 Aprile 2008 ore 15.00 Quesiti e Soluzioni

V Appello Scritto: 3 Luglio 2008 ore 15.00 Orale: 8 Luglio 2008 ore 15.00

VI Appello Scritto: 24 Luglio 2008 ore 15.00 Orale: 29 Luglio 2008 ore 15.00

VII Appello Scritto: 11 Settembre 2008 ore 15.00 Orale: 16 Settembre 2008 ore 15.00

Personal tools