Corsi di laurea triennale in
INFORMATICA, INFORMATICA PER LA COMUNICAZIONE DIGITALE, INFORMATICA MUSICALE
Laboratorio del corso di Programmazione TURNI A e B
Anno accademico: 2023/2024
Insegnamento fondamentale del primo anno per i corsi di Laurea triennale in Informatica, Informatica per la Comunicazione Digitale, Informatica Musicale
Frequenza: la frequenza è vivamente consigliata.
Propedeuticità: a partire dal 1 gennaio 2011 sono entrate in vigore le propedeuticità fra esami. Per poter sostenere diversi esami del secondo e terzo anno occorre aver superato l'esame di Programmazione.
Suddivisione in turni: gli studenti di Programmazione sono divisi in turni di laboratorio in base alle prime lettere del cognome. Vedere qui la suddivisione.
Esami: le informazioni riguardanti gli appelli (date, aule, orario, esiti) saranno pubblicati sul sito della parte di teoria (https://boldi.di.unimi.it/Corsi/Inf2023).
README per l'esame di Laboratorio di programmazione: si invita a leggerlo prima dell'esame.
AVVISI
-
Abbiamo implementato un meccanismo per inviarvi (via mail) i file che caricate su
upload
. Alcuni messaggi potrebbero finire in spam (controllate) e/o contenere un avviso di "file rimosso". Quest'ultimo caso è dovuto al fatto che avete consegnato un FILE ESEGUIBILE e noi ve lo re-inviamo senza ulteriore elaborazione, ma i filtri antispam considerano (giustamente) "pericolosi" tali file e li rimuovono, vi serva come feedback sui vostri errori di caricamento. -
Dal 19/10 alla fine del corso le aule saranno sigma per il turno A e omega per il turno B, inizio lezione alle h 13:45
-
Turno B: il laboratorio del 26/10/23 si svolgerà parzialmente online (sia aula che in call, vedere info sotto), solito orario (13:30-17:30) -
Turno A: il laboratorio del 5/10/23 si svolgerà in aula Gamma, solito orario (13:30-17:30) -
Turno B: il laboratorio del 5/10/23 si svolgerà in aula Delta, solito orario (13:30-17:30) -
il giorno 12 ottobre 2023 NON ci sarà lezione di laboratorio
Turno A
Cognomi da A
a Can
Docente: Anna Morpurgo - Tutor: Leonardo Albani
Orario delle lezioni: giovedì h 13:30-17:30, primo semestre
Inizio lezioni: giovedì 28/09/2023
Aula Sigma (provvisoria, vedere avvisi), Dipartimento di Informatica, Via Celoria 18. Si accede ai PC dei laboratori con le credenziali di ateneo nome.cognome@studenti.unimi.it e relativa password Scegliere Linux come sistema operativo.
Turno B
Cognomi da Cao
a D
Docente: Andrea Trentini - Tutor: Federico Bruzzone
Orario delle lezioni: giovedì h 13:30-17:30, primo semestre
Inizio lezioni: giovedì 28/09/2023
Aula Omega (provvisoria, vedere avvisi), Dipartimento di Informatica, Via Celoria 18. Si accede ai PC dei laboratori con le credenziali di ateneo nome.cognome@studenti.unimi.it e relativa password Scegliere Linux come sistema operativo.
Link a videochiamata
In caso di lezione (parzialmente) remota i link da usare sono i seguenti (in ordine di funzionamento):
- Teams, oppure
Google meet, oppure-
http://open.meet.garr.it/proglab-aula (tenendo microfono in mute e telecamera disattivata) per seguire spiegazioni destinate a tutti gli studenti e per chiedere IN CHAT un aiuto "one2one"http://open.meet.garr.it/proglab-one2one (attivando microfono e telecamera solo alla bisogna) per parlare col docente in caso di richiesta di aiuto
===>>> utile portarsi una cuffia o auricolari (con cavo, non bluetooth) da attaccare al PC dell'aula
HowTo e strumenti utili
(oltre a quelli usati in aula)
-
Ambiente GNU/Linux (inclusi quasi tutti gli strumenti da riga di comando, le utilità e le applicazioni) direttamente in Windows: WLS - Windows Subsystem for Linux
Temi esame passati
Modalità d'esame <TBD: in corso di modifica>
- Il corso di Programmazione prevede una prova di Laboratorio, il cui voto concorre a determinare il voto di Programmazione insieme alla parte di teoria.
- L'esame di Laboratorio consiste in una prova individuale pratica da svolgersi in laboratorio didattico.
- Per sostenere l'esame di Programmazione (prova di laboratorio + teoria nello stesso appello) è necessario iscriversi tramite SIFA online al relativo appello, cioè PROGRAMMAZIONE - BOLDI - mese dell'appello.
- Le iscrizioni si chiudono circa una settimana prima della data dell'appello. Iscrivetevi per tempo e se riscontrate problemi, segnalatelo subito alla segreteria didattica di Informatica (non a noi).
- Se decidete di non presentarvi, per non risultare assenti mandate una mail al docente del vostro turno per avvisarlo.
- L'esame di laboratorio si svolge su macchine Linux, dovete quindi saper usare la shell a linea di comando e alcuni comandi essenziali.
Le macchine fanno un boot apposito per l'esame, mettendo a disposizione quello che serve per programmare in Go, cioè diversi editor, terminale, compilatore Go, documentazione delle librerie di Go, browser con accessi ristretti a ciò che serve per l'esame. Durante l'esame potrete consultare la documentazione delle librerie di Go e il libro di testo o un manuale standard di Go; nient'altro, quindi no a appunti, eserciziari, ecc. Ovviamente NON potrete comunicare tra voi. Le consegne verranno fatte tramite http://upload.di.unimi.it, per cui dovrete avere un account valido per quel sistema. Verificate per tempo il vostro account.
I PC all'esame sono configurati così:
- Applicazioni avviate:
- Firefox Browser
- Konsole Terminal
- Zeal
- Siti aperti (i soli consentiti):
NOTABENE: le macchine dell'esame NON avranno accesso a google (in generale non accedono alla rete esterna se non limitatatmente ai due siti qui sopra elencati) per cui è MOLTO UTILE imparare a consultare la documentazione di Go usando il sito ufficiale (http://pkg.go.dev) e null'altro.
OBIETTIVI E PROGRAMMA E DEL CORSO
Il corso di Programmazione si compone di due moduli, svolti in parallelo: Programmazione teoria (Prof. Boldi) e Laboratorio di programmazione.
Questa è la pagina del Laboratorio di programmazione dei turni A e B.
Il Laboratorio non richiede alcuna conoscenza specifica pregressa e rivisita gli argomenti trattati a teoria (concetti di programmazione imperativa e aspetti del linguaggio di programmazione proposto - Golang) attraverso esercizi volti a consolidare i concetti e a sviluppare la capacità di analizzare un problema, identificare e rappresentare i dati necessari per risolverlo, progettare una procedura risolutiva, implementarla e testarla. Per gli argomenti trattati e gli esercizi proposti si veda la sezione qui sotto (Materiale didattico).
MATERIALE DIDATTICO E BIBLIOGRAFIA
Libro di testo di riferimento
-
Ivo Balbaert: Programmare in go. Pearson, ISBN 8891909661.
-
Ivo Balbaert. The Way to Go: A Thorough Introduction to the Go Programming Language, 2012 (in inglese).
Argomenti trattati
vedere diario
RICEVIMENTO TURNO A
- su appuntamento (mandare email di richiesta a morpurgo@di.unimi.it)
- ufficio 5003, Dipartimento di Informatica (DI), via Celoria 18 - 20133 Milano
RICEVIMENTO TURNO B
- su appuntamento (mandare email di richiesta a trentini@di.unimi.it)
- ufficio 4007, Dipartimento di Informatica (DI), via Celoria 18 - 20133 Milano
NOTA BENE: 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).
CLONARE IL REPOSITORY
Chi volesse clonare
(avere copia locale) il repository del laboratorio può lanciare git clone https://gitlab.di.unimi.it/laboratorio-di-programmazione/2023-2024.git
, verrà creata una directory 2023-2024 (rinominabile a piacimento) in cui si troveranno tutti i file "lavorati" durante le sessioni in aula.
Gli eventuali aggiornamenti si scaricano entrando (cd
) nella directory e lanciando git pull
(NON utilizzare di nuovo clone
!).
I più curiosi possono documentarsi sul sistema di versioning git
leggendo il libro https://git-scm.com/book/en/v2