Elenco Lezioni, Argomenti e Riferimenti


 
Data
Ora
Argomento
LUN 24/9/18
14-16
Presentazione del corso.
Introduzione all'informatica e centralità del concetto di algoritmo: alcuni esempi.
MAR 25/9/18
9-11
Lezione non tenuta.
MER 26/9/18
11-13
Ripresa del concetto di algoritmo: alcuni esempi.
Lucidi
VEN 30/9/18
11-13
Cenni allo stato, alle variabili e alla memoria. Concetti di base della programmazione in C: stato, espressioni, assegnamento, input, output, istruzioni di controllo condizionali e ripetitive.
Lucidi
LUN 1/10/18
14-16
Introduzione a UNIX (storia e caratteristiche). Accenni alla struttura del file system. Cosa è la shell. Rassegna sui principali comandi UNIX.
Lucidi
Introduzione alla programmazione in C: panoramica del linguaggio e istruzioni per l'uso. Struttura di un programma C. Dal sorgente all'eseguibile: in particolare preprocessing e compilazione. I passi della compilazione (GCC) [Vedi Link utili]. Errori di compilazione e a run time. Lucidi
Lucidi
MAR 2/10/188
9-11
Esercitazione in laboratorio sulla shell: esercizi in fondo ai lucidi visti lunedì.
I primi esercizi di C.
MER 3/10/18
11-13
Editare, compilare, ed eseguire programmi C sulla Shell. Il primo programma in C: "Ciao mondo!". Tipo di dato primitivi e comandi condizionali in C.
Lucidi
VEN 5/10/18
11-13
Ripresa dei concetti di base della programmazione. Alcuni esempi di algoritmi.
Lucidi
LUN 8/10/18
14-16
Introduzione al C e alla sua sintassi: tipi di dato in C, ovvero int, char, float, double; signed/unsigned/long. Conversioni di tipo. Funzioni di input e di output: printf e scanf.
Lucidi
MAR 9/10/188
9-11
Esercitazione su variabili, tipi primitivi, e costrutti condizionali.
  • Esercizi della Lezione 3 sulla piattaforma di autovalutazione.
  • Utilizzare la Piattaforma di autovalutazione per accedere agli esercizi da fare e per il loro controllo automatico (il controllo di ciascun esercizio va fatto dopo averne compilato ed eseguito il codice, a parte). Fare attenzione all'output richiesto per ogni esercizio.
  • Per maggiore chiarezza leggere le istruzioni per l'uso della piattaforma.
  • Ulteriori esercizi di C.
MER 10/10/18
11-13
Esercitazione su istruzioni condizionali e istruzioni iterative.
Lucidi
VEN 12/10/18
11-13
Lezione non effettuata a causa della sospensione delle lezioni concessa al fine di permettere agli studenti la partecipazione alle attività collegate all'Internet Festival.
LUN 15/10/18
14-16
Introduzione al C e alla sua sintassi: istruzioni iterative e array.
Lucidi
Esercitazione su istruzioni iterative e array. Schemi ricorrenti di programmi.
Lucidi
MAR 16/10/188
9-11
Esercitazione su costrutti iterativi e array.
  • Esercizi della Lezione 4 sulla piattaforma di autovalutazione.
  • Utilizzare la Piattaforma di autovalutazione per accedere agli esercizi da fare e per il loro controllo automatico (il controllo di ciascun esercizio va fatto dopo averne compilato ed eseguito il codice, a parte). Fare attenzione all'output richiesto per ogni esercizio.
  • Per maggiore chiarezza leggere le istruzioni per l'uso della piattaforma.
  • Ulteriori esercizi di C.
MER 17/10/18
11-13
Breve introduzione alla semantica operazionale.
Lucidi
VEN 19/10/18
11-13
Definizione di Algoritmo. Efficienza di Algoritmi: complessità in tempo, limiti inferiori. Il problema delle dodici monete.
Problema delle 12 monete tratto dal libro di Fabrizio Luccio: La struttura degli algoritmi. Boringhieri, 1984.
LUN 22/10/18
14-16
Introduzione al C e alla sua sintassi: funzioni, regole di visibilità.
Lucidi
MAR 23/10/188
9-11
Esercitazione su istruzioni iterative, array e funzioni.
  • Esercizi della Lezione 5 sulla piattaforma di autovalutazione.
  • Utilizzare la Piattaforma di autovalutazione per accedere agli esercizi da fare e per il loro controllo automatico (il controllo di ciascun esercizio va fatto dopo averne compilato ed eseguito il codice, a parte). Fare attenzione all'output richiesto per ogni esercizio.
  • Per maggiore chiarezza leggere le istruzioni per l'uso della piattaforma.
  • Ulteriori esercizi di C.
MER 24/10/18
11-13
Insertion sort come esempio di algoritmo di ordinamento: complessità al caso ottimo, al caso pessimo, e al caso medio; dimostrazione di correttezza (Vedi Cap1, e Cap 2 sezioni 2.1 e 2.2 del [Cormen, Leiserson, Rivest, Stein. "Introduzione agli algoritmi e strutture dati"]).
VEN 26/10/18
11-13
Introduzione al C e alla sua sintassi: regole di visibilità e gestione della memoria con i record di attivazione; puntatori, passaggio dei parametri per indirizzo nelle funzioni, tramite puntatori; passaggio di array e matrici come parametri.
Lucidi
LUN 29/10/18
14-16
Introduzione ai linguaggi regolari e agli automi: Automi a Stati Finiti Deterministici. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, J. D. Ullman: Cap. 1, Sezione 5, Cap. 2, Sezione 1 e 2]
Lucidi
MAR 30/10/188
9-11
Esercitazione sui puntatori.
  • Esercizi della Lezione 6 sulla piattaforma di autovalutazione.
  • Utilizzare la Piattaforma di autovalutazione per accedere agli esercizi da fare e per il loro controllo automatico (il controllo di ciascun esercizio va fatto dopo averne compilato ed eseguito il codice, a parte). Fare attenzione all'output richiesto per ogni esercizio.
  • Per maggiore chiarezza leggere le istruzioni per l'uso della piattaforma.
MER 31/10/18
11-13
Introduzione ai linguaggi regolari e agli automi: Automi a Stati Finiti Non Deterministici. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 1, Sezione 5, Cap. 2, Sezione 3 e 4]
Lucidi
VEN 2/11/18
11-13
Sospensione della didattica dei corsi di studio in Matematica.
LUN 5/11/18
14-16
Introduzione al C e alla sua sintassi: ricorsione.
Lucidi
MAR 6/11/18
9-11
Esercitazione sulla ricorsione.
esercizi di C non corretti dalla piattaforma di valutazione.
MER 7/11/18
11-13
Schemi ricorrenti di programmi: ricerca certa e incerta. Verifica di proprietà con diversi quantificatori in cicli annidati. Esercitazione su istruzioni iterative e array.
Lucidi
Selection Sort. Ordinamento di un vettore booleano. Ricerca binaria.
VEN 9/11/18
11-13
Esercitazione sugli automi.
Alcune proprietà di chiusura dei linguaggi regolari: unione, intersezione e complemento. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: 4.2.1]
Esempio di dimostrazione sul fatto che un certo automa riconosce un linguaggio dato. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: 2.3.4, Esempio 2.9]
LUN 12/11/18
14-16
I prova di verifica intermedia.
MAR 13/11/18
9-11
Esercitazione su tipi definiti dall'utente e su struct.
MER 14/11/18
11-13
Introduzione ai linguaggi regolari e agli automi: Automi a Stati Finiti Non Deterministici con epsilon-transizioni. Espressioni regolari. Equivalenza di automi ed espressioni regolari. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 2, Sezione 5, Cap. 3, Sezioni 1 e 2 (escluso 3.2.1)] Lucidi
VEN 16/11/18
11-13
Notazione asintotica per le funzioni di complessità. Notazioni O, Omega, o, Theta, e omega: definizioni, proprietà algebriche
LUN 19/11/18
14-16
Introduzione al C e alla sua sintassi: allocazione dinamica della memoria e introduzione alle liste collegate
Lucidi
MAR 20/11/18
9-11
Esercitazione su liste collegate e allocazione dinamica della memoria.
MER 21/11/18
11-13
Paradigma Divide et Impera. Min-Max e Power iterative e ricorsive. MergeSort: descrizione, esempio.
VEN 23/11/18
11-13
Introduzione al C e alla sua sintassi: ripasso struct e liste.
LUN 26/11/18
14-16
Introduzione ai linguaggi regolari e agli automi: dalle espressioni regolari agli automi con epsilon-transizioni. Applicazioni delle espressioni regolari. Proprietà algebriche delle espressioni regolari. Pumping Lemma ed esempi di applicazione. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 3, Sezioni 2, 3, 4] Lucidi
MAR 27/11/18
9-11
Esercitazione ancora su liste collegate e allocazione dinamica della memoria.
MER 28/11/18
11-13
Complessità di MergeSort: metodo di sostituzione, e metodo con albero di ricorsione. QuickSort: codice, esempi, complessità. Lower bound nlogn per sorting basato su confronti.
VEN 30/11/18
11-13
Introduzione ai linguaggi regolari e agli automi: proprietà di chiusura dei linguaggi regolari, problemi di decisioni, equivalenza e minimizzazione di automi. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 4, Sezioni 2, 3, 4]
Lucidi
LUN 3/12/18
14-16
Introduzione ai linguaggi liberi: linguaggi e grammatiche libere dal contesto (I parte). [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 5, Sezione 1, Inizio Sezione 2]
Lucidi
MAR 4/12/18
9-11
Ancora esercitazione su liste collegate.
MER 5/12/18
11-13
Introduzione ai linguaggiliberi: linguaggi e grammatiche libere dal contesto (II parte). [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 5, Sezione 1, Sezioni 2 e 4]
Lucidi
VEN 7/12/18
11-13
Introduzione al C e alla sua sintassi: gli alberi binari e la loro rappresentazione collegata in C. Visite di alberi. Esempi di soluzioni ricorsive a problemi su alberi. Cenni agli alberi binari di ricerca.
Lucidi
LUN 10/12/18
14-16
Introduzione ai linguaggi liberi: proprietà dei linguaggi liberi dal contesto. Forma Normale di Chomsky. Pumping lemma per i linguaggi liberi. Proprietà di chiusura dei linguaggi. Cenni ai problemi di decisione. Accenni alla gerarchia di Chomsky. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 7, Sezioni 1, 2 e 3]
Lucidi
MAR 11/12/18
9-11
Esercitazione sugli alberi.
MER 12/12/18
11-13
Esercitazione in vista della seconda prova di verifica.
VEN 14/12/18
11-13
Esercitazione in vista della seconda prova di verifica.
LUN 17/12/18
14-16
II prova di verifica.