Il corso intende introdurre al metodo razionale, addestrando all'uso del linguaggio scientifico, analizzando le tecniche specifiche del ragionamento logico-deduttivo con applicazioni alla programmazione. Si forniscono gli elementi di base di matematica discreta e di algebra lineare, utilizzando il formalismo e l'astrazione per abituare ad un metodo di ragionamento rigoroso. S’introducono i concetti fondamentali (insiemi, prodotti cartesiani, funzioni, numeri naturali e induzione, equivalenze, cardinalità), strutture algebriche (monoidi, liste, grafi, cammini, anelli di matrici, spazi vettoriali), strutture logiche (calcolo dei predicati e teorie formali, interpretazioni, modelli) e si presentano risultati importanti di matematica discreta e loro applicazioni: - Algoritmo euclideo - Aritmetica modulare - Risoluzione di sistemi lineari - Correttezza e completezza per la logica del prim'ordine - Teoremi di Gödel, di Turing, di Church
Tradizionale
1. Nozioni di base (a) Insiemi, prodotti cartesiani (b) Funzioni, infinito (c) Numeri naturali e induzione (d) Cardinalità
2. Matematica Discreta (a) Numeri interi (b) Algoritmo euclideo (c) Aritmetica modulare (d) Monoidi, liste (e) Grafi, cammini (f) Anelli di polinomi (g) Numeri complessi
3. Logica matematica (a) Sintassi: calcolo dei predicati e teorie formali (b) Semantica: interpretazioni, modelli (c) Correttezza e completezza per la logica del prim'ordine (d) Cenni ai Teoremi di Gödel, Turing, Church
4. Algebra lineare (a) Anelli di matrici (b) Cenni sugli spazi vettoriali (c) Risoluzione di sistemi lineari
Gli appunti presi dagli studenti a lezione sono la base su cui principalmente deve essere impostato lo studio. A complemento di questo si possono usare le dispense di Matematica discreta di G. Niesi http://www.dima.unige.it/~niesi/MD/a05/MD05appunti.pdf e altre dispense su aulaweb.
RICCARDO CAMERLO (Presidente)
ETTORE GIOVANNI CARLETTI (Presidente)
Prova scritta e prova orale