Obiettivi e contenuti
Scopo di questo corso e' introdurre gli studenti di matematica all'Informatica ed alla programmazione in un linguaggio ad alto livello, specificatamente l'ANSI C. Vengono illustrati i principi della programmazione strutturata e tutti i supporti e le nozioni necessari per lo sviluppo e l'esecuzione di un programma C. Viene fornita una breve introduzione all'uso dei TC delle aule C2 e C3, all'uso dei PC dell'Aula Informatica ed ai due ambienti di lavoro che l'aula supporta: Windows XP e Linux. Gli algoritmi sviluppati sono per lo piu' rivolti a risolvere problemi di calcolo combinatorio o numerico e problemi di gestione di strutture dati, di semplice o di moderata complessita'. Qualche cenno infine sui compilatori: analisi lessicale, sintattica e semantica, generazione del codice intermedio, ottimizzazione, generazione del codice.
Prerequisiti
Nessun prerequisito e' necessario ma la frequenza del corso cosi' come lo svolgimento regolare degli esercizi e dei programmi assegnati e' indispensabile.
Testi consigliati o utili
1- Brian W. Kernighan, Dennis M. Ritchie: The C programming language, Second Edition, Prentice Hall, 1988. Il libro e' ottimo per imparare il linguaggio C creato dagli autori del libro, non per imparare a programmare. Ci sono edizioni in lingua italiana pubblicate dalla Pearson (2007), dalla Jackson Libri (1989).
2- Harvey M. Deitel, Paul J. Deitel. C Corso completo di programmazione - Terza Edizione. Apogeo, 2007. Un testo chiaro e ben scritto.
3- J. Glenn Brookshear, "INFORMATICA una panoramica generale 9/ed", Pearson - Addison Wesley, 2006. Buon riferimento per alcuni argomenti teorici.
4- Note del corso reperibili alla pagina web del corso.
http://mate.unipv.it/~galbiati/corsi/programmazioneHome.html