Elenco Lezioni, Argomenti e Riferimenti
Presentazione del corso.
Introduzione all'informatica e centralità del concetto di algoritmo: alcuni esempi. Lucidi |
||
Lezione non tenuta per consentire l'effettuazione dei test d'ingresso. | ||
L'hardware del calcolatore (I parte). | ||
L'hardware del calcolatore (II parte).
Lucidi |
||
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. | ||
Introduzione a UNIX (storia e caratteristiche). Accenni alla struttura del file system. Cosa è la shell. Rassegna sui principali comandi UNIX.
Esercizi.
Lucidi |
||
Alcuni esempi di algoritmi. Diagrammi di flusso. Che cosa è la programmazione strutturata.
Lucidi |
||
Lezione non effettuata a causa della sospensione delle lezioni concessa al fine di permettere agli studenti la partecipazione alle attività collegate all'Internet Festival. | ||
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 |
||
Introduzione al 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]. Il primo programma in C: "Ciao mondo!"
Lucidi I primi esercizi di C. |
||
Introduzione al C e alla sua sintassi: istruzioni condizionali e istruzioni iterative.
Lucidi |
||
Limiti dell'aritmetica finita della macchina.
Rappresentazione dell'informazione. Lucidi Esercitazione su istruzioni condizionali e istruzioni iterative. Lucidi |
||
Breve introduzione alla Semantica Operazionale.
Lucidi |
||
Esercitazione su variabili, tipi primitivi, e costrutti condizionali.
|
||
Introduzione al C e alla sua sintassi: array monodimensionali.
Lucidi Esercitazione su istruzioni iterative e array monodimensionali (I parte). Lucidi |
||
Introduzione al C e alla sua sintassi: array multidimensionali.
Lucidi Introduzione al C e alla sua sintassi: funzioni (I parte). |
||
Introduzione ai linguaggi regolari e agli automi: Automi a Stati Finiti Deterministici (I parte). | ||
Esercitazione su costrutti iterativi e array.
|
||
Introduzione ai linguaggi regolari e agli automi: Automi a Stati Finiti Deterministici (II parte).
[Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 1, Sezione 5, Cap. 2, Sezione 1 e 2]
Lucidi |
||
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 |
||
Introduzione ai linguaggi regolari e agli automi: Automi a Stati Finiti Non Deterministici con epsilon-transizioni.
[Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 1, Sezione 5, Cap. 2, Sezione 5]
Lucidi Introduzione al C e alla sua sintassi: funzioni (II parte). Lucidi |
||
Esercitazione su istruzioni iterative, array e funzioni.
|
Festa | |
Introduzione al C e alla sua sintassi: regole di visibilità, gestione della memoria e record di attivazione.
Lucidi |
||
Introduzione al C e alla sua sintassi:
puntatori, passaggio dei parametri per indirizzo nelle funzioni, tramite puntatori. Passare array e matrici.
Lucidi |
||
Esercitazione su puntatori, aritmetica dei puntatori e procedure.
Esercizi della Lezione 6 sulla piattaforma di autovalutazione. |
||
Discussione sulle soluzioni di alcuni degli esercizi della piattaforma.
Lucidi
Esercitazione su istruzioni iterative e array monodimensionali (II parte) e su ricerca e verifica. Lucidi |
||
Espressioni regolari (I parte) [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Capitolo 3, fino a 3.2.2].
Lucidi |
||
Introduzione al C e alla sua sintassi: ricorsione (I parte).
Lucidi Discussione su alcuni esercizi svolti. |
||
Esercitazione sulla ricorsione. Esercizi di C (non corretti dalla piattaforma di valutazione). | ||
I prova di verifica. | ||
Lezione non tenuta. | ||
Introduzione al C e alla sua sintassi: ricorsione (II parte) (vedi lucidi della lezione del 13 novembre).
Introduzione al C e alla sua sintassi: tipi definiti dall'utente e struct. Lucidi |
||
Esercitazione su tipi definiti dall'utente e su struct.
Esercizi della Lezione 7 sulla piattaforma di autovalutazione. |
||
Introduzione al C e alla sua sintassi: allocazione dinamica della memoria e introduzione alle liste collegate (I parte).
Lucidi |
||
Introduzione al C e alla sua sintassi: introduzione alle liste collegate (II parte).
Lucidi |
||
Espressioni regolari (II parte) [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Capitolo 3, fino alla fine].
Lucidi Proprietà dei linguaggi regolari: pumping lemma. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Capitolo 4, sezione 1] |
||
Esercitazione sulle liste concatenate.
Esercizi della Lezione 8 sulla piattaforma di autovalutazione. |
||
Proprietà dei linguaggi regolari (II parte): pumping lemma, proprietà di chiusura.
[Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Capitolo 4, sezione 1 e 2]
Lucidi |
||
Algoritmi di ordinamento.
Lucidi |
||
Equivalenza e minimizzazione di automi.
[Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 4, Sezione 4]
Lucidi Introduzione alle grammatiche e ai linguaggi liberi dal contesto (I parte). [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 5, Sezione 1] |
||
Esercitazione sulla ricorsione e sulle liste concatenate.
Esercizi della Lezione 10 sulla piattaforma di autovalutazione. |
||
Introduzione alle grammatiche e ai linguaggi liberi dal contesto (II parte).
[Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 5, Sezioni 1,2 e 4]
Lucidi |
Festa | |
Lezione non tenuta per la sospensione della didattica in tutto l'ateneo per l'allerta meteo. | ||
Esercitazione sulle liste concatenate.
Esercizi della Lezione 11 e della lezione 12 sulla piattaforma di autovalutazione. |
||
II prova di verifica. | ||
Alberi: definizioni e proprietà.
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 |
||
Proprietà dei linguaggi liberi: pumping lemma, proprietà di chiusura e cenni a quelle di decisione.
[Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Cap. 7, Sezioni 1,2,3 e 4]
Lucidi Cenni alla gerarchia di Chomsky. [Automi, linguaggi e calcolabilità, J. E. Hopcroft, R. Motwani, and J. D. Ullman: Appendice A] |
||
Introduzione al C e alla sua sintassi: le stringhe.
Lucidi Esercitazione sugli alberi e sulle stringhe. Esercizi delle lezione 12 (sugli alberi), 9 e 13 (sulle stringhe) sulla piattaforma di autovalutazione. |