|
![]() |
LEZIONE | ARGOMENTI TRATTATI | DOCUMENTAZIONE / ESERCIZI |
8/10/20 0. Introduzione a GNU/Linux: file system e comandi di base. Esercizi. |
Presentazione del corso. Linux: il file system - struttura ad albero, root (/), indirizzi assoluti e relativi, home directory, directory corrente (.), directory ..; utenti e permessi (RWX); interfaccia a linea di comando (la shell bash - prompt e comandi essenziali). | Slide della lezione
Questionario 1 shell bash online Appunti sulla shell bash |
15/10/20 1. Avvio alla programmazione in Go. |
Variabili e costanti, assegnamento, assegnamento multiplo,
blank variable.
I tipi int e float64 e i 5 operatori aritmetici (+, -, *, /, %).
Conversioni.
Lettura da standard input (fmt.Scan)
e scrittura su standard output (fmt.Print e fmt.Println).
Proposte di lavoro: vedi esercizi e problemi nelle slide. Caricare i sorgenti (.go) sul sito di upload (2020 - LAB PROGRAMMAZIONE - GO - TURNO A (MORPURGO)) |
Slide della lezione con gli esercizi
Soluzioni |
22/10/20 2. Il costrutto di selezione if. |
Il costrutto if: sintassi; operatori di confronto (==, !=, >, >=, ...); operatori booleani (!, &&, ||).
Visibilità delle variabili.
Schemi per la selezione.
Proposte di lavoro: svolgere gli esercizi in Esercizi e caricare i sorgenti singolarmente (.go, non .zip o .rar) sul sito di upload (2020 - LAB PROGRAMMAZIONE - GO - TURNO A (MORPURGO) - Lab02 - bool e if) |
Slide della lezione
Soluzioni |
29/10/20 3. Il costrutto di iterazione. |
For ternario, unario, zerario. Break e continue.
Tracciatura. Problemi esemplari (somma, conteggio, min/max, ricerca lineare, elaborazione di valori adiacenti).
Proposte di lavoro: esercizi di analisi, tracciatura e comprensione - esercizi guidati - altri esercizi sul for. Caricare i sorgenti singolarmente (.go, non .zip o .rar) sul sito di upload (2020 - LAB PROGRAMMAZIONE - GO - TURNO A (MORPURGO) - Lab03 - for) |
Slide della lezione
Soluzioni es guidati Soluzioni altri es sul for |
5/11/20 4. Caratteri, stringhe, for-range, cicli annidati. |
Byte e rune, operazioni con caratteri. Il tipo string. Il for range.
Cicli annidati.
Proposte di lavoro: esercizi su byte, rune, stringhe, for range e cicli annidati - Caricare i sorgenti singolarmente (.go, non .zip o .rar) sul sito di upload (2020 - LAB PROGRAMMAZIONE - GO - TURNO A (MORPURGO) - Lab04 - byte rune string for-range cicli annidati) |
Slide della lezione
Link agli esercizi guidati Soluzioni |
12/11/20 5. Switch e funzioni. |
Selezione multiaria: il costrutto switch. Funzioni. I pacchetti
strconv e strings.
Proposte di lavoro: esercizi guidati su switch e funzioni. Caricare i sorgenti singolarmente (.go) sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
Soluzioni |
19/11/20 6. Puntatori, strutture, array. |
Puntatori, i significati di *. Strutture. Array. Array per contare.
Funzioni con puntatori come parametri.
Proposte di lavoro: primi esercizi su puntatori, struc e array - altri esercizi su puntatori, struc e array - esercizi piú avanzati - Caricare i sorgenti singolarmente (.go) sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
Note lezione
Soluzioni |
26/11/20 7. Slice e mappe. |
Il tipo map. Mappe come dizionari, uso di mappe per problemi di conteggio.
Slice, os.Args, operazioni su slice con append, copy
e subslicing. Matrici.
Proposte di lavoro: esercizi su mappe e slice - esercizi piú avanzati Caricare i sorgenti singolarmente (.go) sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
Note lezione
Soluzioni |
03/12/20 8. Ricorsione. |
Ricorsione: caso base, caso ricorsivo, relazione di ricorrenza.
Esempi e implementazione di funzioni ricorsive.
Proposte di lavoro: esercizi guidati sulla ricorsione - altri esercizi sulla ricorsione Caricare i sorgenti singolarmente (.go) sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
Note consegne 26/11
Note lezione Soluzioni Nota: l'output di ordinali.go è costituito da sole parentesi graffe, non devono apparire cifre |
10/12/20 9. I/O e libreria standard. |
Scanner di bufio, Scan e Text,
funzioni per Split (ScanBytes, ScanRunes, ScanWords, ScanLines.
Ricerca di soluzioni nei pacchetti e funzioni della libreria standard.
Proposte di lavoro: esercizi sull'uso della libreria standard - esercizi sull'I/O Caricare i sorgenti singolarmente (.go) sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
Note consegne e lezione
Soluzioni |
17/12/20 10. I/O con file. |
Tipi di input: tastiera (standard input), linea di comando, file.
Funzioni del package fmt.
Scanner, Reader e funzioni del package bufio.
Funzioni Fields e Split del package strings.
Funzione ReadFile del package ioutil.
Il metodo String().
Proposte di lavoro: esercizi su I/O e uso di file - Caricare i sorgenti singolarmente (.go) sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
Note lezione
Soluzioni |
07/01/21 11. Ripasso e progettazione. |
Progettazione di una soluzione, ripasso, domande, visione di esercizi
(una specie di ricevimento per tutti).
Proposte di lavoro: esercizi |
Note lezione
Registrazione della lezione(scusate le lunghe pause, per ora non l'ho editata) |
14/01/21 12. Simulazione. |
Proposte di lavoro: Simulazione di un appello d'esame (a distanza) |
|
|
D'ora in avanti i programmi (i sorgenti .go) possono essere caricati sulla "Sessione permanente per tutti gli esercizi del corso", sul sito di upload (LABORATORIO DI PROGRAMMAZIONE - ED 1 - AA 2020/2021 - TURNO UNICO (MORPURGO, TRENTINI) ) |
|
Appello del 19/01/21 | Osservazioni sugli errori più comuni fatti all'esame |
Orario delle lezioni: | Giovedí h 13:30-17:30, primo semestre. Il corso prevede almeno 48 ore di lezione. |
Inizio lezioni: | giovedí 8.10.20 |
Aula: | Aule Gamma e Delta, Dipartimento di Informatica, Via Celoria 18 |
Ricevimento:
|
per appuntamento (email: morpurgo@di.unimi.it),
ufficio 5003, Dipartimento di Informatica (DI), via Celoria 18 - 20133 Milano NOTA Quando si scrive a un docente, usare l'indirizzo di posta di ateneo (della forma nome.cognome@studenti.unimi.it). Indicare sempre il proprio nome e cognome e l'insegnamento (Laboratorio di programmazione). |
Copyright © 2009. Morpurgo. DI, Università degli Studi di Milano.