Questa è una vecchia versione del documento!
Indice
Programmazione I e laboratorio - Corso A
Docente: Corso A: Roberto Barbuti
Docenti laboratorio: Davide Bacciu, Giulio Rossetti, Alina Sirbu
Supporto alla didattica laboratorio: Antonio Carta, Daniele Castellana, Francesco Crecchi, Matteo Franceschi, Marco Podda, Marco Spinosa.
Lezioni Programmazione I - Corso A:
Giorno | Ora | Aula |
---|---|---|
Lunedì | 9-11 | A |
Mercoledì | 11-13 | A |
Giovedì | 16-18 | A |
Pagina ufficiale del corso (appunti delle lezioni, materiale didattico, avvisi, esercitazioni, ecc.) qui
Programma del corso
Obiettivi di apprendimento Introduzione alla risoluzione di problemi e alla programmazione con esercitazioni in laboratorio.
Programma
- Grammatiche libere
- Presentazione del Linguaggio funzionale Caml
- Programmazione funzionale
- Presentazione del Linguaggio imperativo C (rappresentazione numerica, funzioni, procedure, parametri, puntatori)
- Programmazione imperativa (array, liste, ecc.)
- Definizione di un interprete in Caml del Linguaggio Imperativo
Laboratorio di Programmazione C (A.A. 2018/19)
Comunicazioni
(17/09/2018) PRIMA LEZIONE LABORATORIO La prima lezione del Laboratorio di Programmazione si terrà Martedì 18 e Mercoledì 19 Settembre 2018, aule H ed M, seguendo le fasce orarie individuate nella suddivisione in gruppi riportata nella sezione sottostante.
Organizzazione e Lezioni
Programma
- struttura di un programma e compilazione
- elementi del linguaggio: tipi di dato primitivi e definiti dall'utente, espressioni
- input/output
- operatori di controllo del flusso
- memoria: algebra dei puntatori ed allocazione dinamica
- strutture dati: array, struct e liste
- ricorsione
Suddivisione in gruppi con assegnazione slot in laboratorio
Corso | Gruppo | Studenti | Docente | Aula | Orario |
---|---|---|---|---|---|
A | A1 | Da AA a DE | Davide Bacciu | H | Martedì 11:00 - 13:00 |
A | A2 | Da DI a NA | Giulio Rossetti | H | Mercoledì 14:00 - 16:00 |
A | A3 | Da NE a ZZ | Alina Sirbu | M | Mercoledì 14:00 - 16:00 |
Calendario lezioni
Lezione | Gruppo | Data | Aula | Argomento |
---|---|---|---|---|
1 | A1 | 18/09/18 11-13 | H | Introduzione a UNIX e alla Shell ( slides - rubrica per esercitazione) |
A2 | 19/09/18 14-16 | H | ||
A3 | 19/09/18 14-16 | M | ||
2 | A1 | 25/09/18 11-13 | H | Introduzione alla Programmazione in C ( slides, Esercizio aggiuntivo) |
A2 | 26/09/18 14-16 | H | ||
A3 | 26/09/18 14-16 | M | ||
3 | A1 | 02/10/18 11-13 | H | Variabili, Tipi Primitivi, e Costrutti Condizionali ( slides) |
A2 | 03/10/18 14-16 | H | ||
A3 | 03/10/18 14-16 | M | ||
4 | A1 | 09/10/18 11-13 | H | Costrutti Iterativi e array ( slides) |
A2 | 10/10/18 14-16 | H | ||
A3 | 10/10/18 14-16 | M |
Materiale Didattico
Macchina Virtuale Linux
E' stata predisposta una macchina virtuale Ubuntu per coloro che volessero svolgere le esercitazioni di laboratorio sul proprio PC/MAC senza installare Linux in una partizione del disco. Un tutorial che ne descrive l'installazione passo-passo può essere scaricato qui. Il tutorial contiene un link per scaricare la macchina virtuale già configurata per le esigenze del laboratorio.
Se riscontrate problemi nell'utilizzo della macchina virtuale su sistemi Windows provvedete ad attivare le opzioni di virtualizzazione. A tal fine accedete al BIOS della macchina: il sistema cambia a seconda dell'hardware ma tipicamente richiede la pressione di un tasto funzione, esc, canc, etc, all'avvio della macchina. Nel menù del BIOS cercate l'opzione Virtualization Technology (tipicamente si trova in Advanced (Chipset) Settings, vedi screenshot) e abilitatela selezionando enabled. Salvate e riavviate: a questo punto la macchina virtuale dovrebbe essere utilizzabile senza problemi.
Materiali online
Buona parte dei contenuti del Laboratorio sono trattati in questa dispensa. Per il corso sono di particolare interesse i Capitoli 1-7.
Link utili
Libri di Riferimento
Dennis M. Ritchie, Brian W. Kernighan Il linguaggio C Principi di programmazione e manuale di riferimento Pearson Italia ISBN: 9788871922003
Al Kelley, Ira Pohl C. Didattica e programmazione Pearson Italia ISBN: 8871922190
Il seguente è un libro di riferimento per l'utilizzo di Linux da terminale. Gli argomenti del corso sono trattati nella Parte 1. Essendo pubblicato sotto licenza Creative Commons, può essere scaricato gratuitamente.
William Shotts The Linux Command Line No Starch Press ISBN: 9781593273897