Skip to content
Snippets Groups Projects
Select Git revision
  • 79950e927a2537b16046889ed22cf80a6cba6193
  • main default protected
2 results

2023-2024

  • Clone with SSH
  • Clone with HTTPS
  • Forked from an inaccessible project.
    Andrea Trentini's avatar
    Andrea Trentini authored
    79950e92
    History

    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):

    1. Teams, oppure
    2. Google meet, oppure
    3. 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"

    ===>>> 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)

    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 (cfr. lezioni introduttive).

    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ì:

    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
    • man mano pubblichiamo alcune soluzioni agli esercizi proposti in aula, si trovano nella dir _soluzioni di ogni Lab

    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