Past Courses

Article Index

Sito ufficiale del corso di Tecniche di programmazione (codice 03FYZPL) per studenti del corso di laurea in Ingegneria Gestionale (Classe L-8). Link breve a questa pagina: http://bit.ly/tecn-progr

Questa pagina è relativa ad un'edizione precedente del corso. Per consultare le informazioni sull'ultima edizione andare a http://bit.ly/tecn-progr

Avvisi

  • 2020-06-25: Suddivisione in turni per l'esame del 29/06/2020
  • 2020-03-03: È disponibile l'introduzione al corso e le istruzioni per l'installazione del software necessario. Consulta le sezioni Materiale e Registro.
  • 2020-02-28: Benvenuti all'edizione 2019/2020 del corso!
  • 2020-01-26: I contenuti relativi alla precedente edizione 2019/2019 del corso sono disponibili alla pagina del corso 2017/2018

 


Informazioni

Presentazione

Docenti

  • prof. Fulvio Corno (This email address is being protected from spambots. You need JavaScript enabled to view it. )
  • ing. Alberto Monge Roffarello (This email address is being protected from spambots. You need JavaScript enabled to view it.)
  • dott. Tatiana Tommasi (This email address is being protected from spambots. You need JavaScript enabled to view it.)

Orario

Giorno e oraAulaTipologiaNote
Lunedì 13:00-14:30 4T Lezione/Esercitazione  
Martedì 11:30-13:00 29 Lezione/Esercitazione  
Martedì 13:00-14:30 29 Lezione/Esercitazione  
Mercoledì 08:30-11:30 LEP Esercitazione/Laboratorio (squadra 1/2) a partire dal 11/3/2020
Mercoledì 11:30-14:30 LEP Esercitazione/Laboratorio (squadra 2/1) a partire dal 11/3/2020

 

Materiale di studio

  • Materiale fornito dai docenti
  • Documenti e link disponibili su Internet, segnalati di volta in volta

Siti web di riferimento

Testi principali

Testi ausiliari


Programma del corso

Contenuto tratto dalla pagina ufficiale del corso sul Portale della Didattica

Presentazione

L’insegnamento si propone di completare le capacità di programmazione dello studente, mettendolo in grado di affrontare e risolvere problemi, anche complessi, attraverso la realizzazione di programmi software. In particolare il corso si propone di integrare le competenze acquisite nei precedenti corsi, in particolare Programmazione ad Oggetti e Basi di Dati, permettendo di creare applicazioni in grado di presentare interfacce utente evolute e di accedere a basi di dati relazionali. Dal punto di vista algoritmico, dopo avere introdotto il concetto di complessità e la tecnica della ricorsione saranno analizzate le strutture dati più comuni (liste, alberi, grafi) e saranno studiati alcuni degli algoritmi di simulazione ed ottimizzazione più rilevanti, con riferimento ad applicazioni concrete nel campo della logistica, della produzione e dell’organizzazione d’impresa (es: allocazione di risorse, scheduling, sistemi a reti di code, …).

Conoscenze e abilità da acquisire

Conoscenza e capacità di comprensione: strutture dati complesse (liste, alberi, grafi); paradigma model-view-controller; progettazione di interfacce grafiche in Java; accesso a basi di dati relazionali da applicazioni Java; ricorsione; problemi di ricerca e di ottimizzazione (tecniche divide et impera e min-max); applicazioni in campo logistico e dell’organizzazione.

Capacità di applicare conoscenza e comprensione: realizzazione di applicazioni grafiche in Java con accesso a basi di dati; risoluzione di problemi di simulazione, ricerca ed ottimizzazione attraverso la realizzazione di programmi software; analisi di problemi di tipo gestionale e definizione di una soluzione algoritmica per la relativa risoluzione, ed implementazione della stessa.

Prerequisiti

Conoscenza delle basi di dati relazionali, ed in particolare della loro interrogazione ed aggiornamento mediante istruzioni SQL.
Concetti di programmazione ad oggetti, ed in particolare un linguaggio di programmazione object-oriented (Java o C#, ad esempio), con capacità di programmare in tale linguaggio.

Programma

Il contenuto del corso si sviluppa lungo quattro filoni paralleli, che affrontano la tematica della risoluzione dei problemi mediante sviluppo di prodotti software (in gergo “problem solving”) da quattro punti di vista diversi e complementari. I filoni sono sinteticamente denominati “Algoritmi e Strutture Dati”, “Tecniche di Programmazione”, “Problem Solving ed Applicazioni”, “Laboratorio”. Durante lo svolgimento del corso, i diversi argomenti introdotti saranno analizzati congiuntamente dai quattro punti di vista, in modo da fornire un approccio organico e completo.

Filone “Algoritmi e Strutture Dati”: tratta gli aspetti di tipo teorico legati alla teoria della complessità, alle strutture dati complesse, dinamiche e ricorsive, ed alle tecniche di progettazione algoritmica che ne permettono la gestione efficiente ed ottimale. Affronta inoltre le tecniche algoritmiche applicabili a problemi di ricerca, ottimizzazione e simulazione.

  • Algoritmi, complessità
  • Tipi di dato astratti (ADT)
  • Ricorsione. Strutture dati ricorsive. Algoritmi ricorsivi.
  • Strutture dati fondamentali: liste, alberi, hash table
  • Il problema dell’ordinamento
  • Strutture dati avanzate: grafi
  • Algoritmi sui grafi
  • Algoritmi di visita, ricerca, ottimizzazione
  • Algoritmi approssimati (greedy, pseudorandom, euristico, evolutivo)
  • Giochi ed algoritmi risolutivi

Filone “Tecniche di Programmazione”: fornisce richiami, integrazioni e complementi sulle specifiche tecniche di programmazione proprie del linguaggio Java, e delle proprie librerie standard ed estese, adatte a supportare l’implementazione efficace, efficiente ed estendibile degli algoritmi e strutture dati trattati.

  • Richiami e complementi su Java Collections, Java Generics
  • Librerie Java per la gestione di strutture dati complesse
  • Accesso a DBMS relazionali da applicazioni Java: lo standard JDBC
  • Applicazioni grafiche Java: Swing e JavaFX2.2

Filone “Problem Solving ed Applicazioni”: illustra l’applicazione delle tecniche algoritmiche presentate a problemi di tipo reale, presentando il processo di formalizzazione del problema e della soluzione a partire da requisiti provenienti dal dominio applicativo

  • Problem solving: problemi di ricerca e problemi di ottimizzazione
  • Tecniche di risoluzione ottima (divide et impera, min-max) ed ottimale (greedy)
  • Algoritmi di simulazione ad eventi discreti
  • Applicazioni a casi di interesse gestionale definiti a partire da specifiche di reali problemi aziendali (simulazione di reti di code, problemi di scheduling, ottimizzazione percorsi, gestione magazzino, allocazione e ottimizzazione delle risorse, ecc).

Filone “Laboratorio”: tutte le tecniche di programmazione ed i problemi applicativi saranno sviluppati anche in laboratorio informatico, dove si apprenderanno altresì le procedure operative per un efficace utilizzo degli strumenti informatici moderni.

  • Java, Eclipse, Swing, MySql, JDBC: installazione, configurazione, gestione
  • Installazione ed utilizzo di librerie per la gestione di strutture dati complesse
  • Interfacciamento ed utilizzo data-set reali (benchmark)

Laboratori e/o esercitazioni

Esercitazioni in aula: svolgimento di programmi in aula ed analisi/progettazione di esempi applicativi.
Esercitazioni in laboratorio informatico: sviluppo di programmi di ricerca ed ottimizzazione.

Testi e materiale didattico

Lucidi e dispense forniti dal docente.
Testi ausiliari: K. Sierra, B. Bates, Head First Java (O’Reilly); R. Sedgewick, Algoritmi in Java (Addison-Wesley)

Modalita' di verifica dell'apprendimento

L’accertamento prevede una verifica teorico-pratica in laboratorio, e la realizzazione di un programma in grado di risolvere un problema gestionale.

 


Materiale

Questa sezione conterrà il materiale didattico (dispense, lucidi, link, ...) utilizzato durante il corso.

icons8 pdf 48 Lucidi delle lezioni

icons8 play button 48 Video Lezioni

 

Playlist: https://www.youtube.com/playlist?list=PLqRTLlwsxDL-D1R30ojLSoHKKtl5q65BE

Le lezioni sono anche scaricabili via BitTorrent: https://academictorrents.com/details/be289c8dceaa7ef16eb2969431c7e8330285c7f4

 

icons8 pdf 48 Laboratorio

Video soluzioni proposte

Playlist: https://www.youtube.com/playlist?list=PLqRTLlwsxDL_EQnVGeUYDrHHRAjo7TrDm

 

icons8 github 48 Esercizi in aula

I sorgenti (progetti Eclipse) degli esercizi svolti in aula sono reperibili su https://github.com/TdP-2020

icons8 zip 48 Data-sets

Database SQL (da importare) relativi alle diverse tipologie di data-set utilizzate a lezione ed in laboratorio. I data-set utilizzati saranno anche pubblicati su https://github.com/TdP-datasets

icons8 zip 48 Software necessario

Link di approfondimento

 


Esame

Modalità d'esame a distanza:

L'esame di Sistemi Tecniche di Programmazione, nella sua forma svolta a distanza a causa dell'emergenza COVID-19, si svolgerà in modalità molto simili alla forma tradizionalmente svolta in laboratorio, con l'ausilio dello strumento di videosorveglianza.

Il contenuto del testo d'esame sarà, come al solito, un esercizio di programmazione composto di 2 domande (la prima obbligatoria per la sufficienza, la seconda necessaria a raggiungere voti >21).

Per lo svolgimento del lavoro dovrete utilizzare il vostro computer, connesso in videochiamata Zoom per tutta la durata della prova. Come in laboratorio, è concesso l'utilizzo di documentazione e materiale ed è concesso l'accesso ad Internet, ad esclusione degli strumenti di comunicazione (chat mail forum e simili). È obbligatorio chiudere tutte le applicazioni di comunicazione prima dell'inizio della prova.

La videosorveglianza avverrà attraverso l'apertura di una chiamata Zoom, alla quale gli studenti dovranno rimanere connessi per tutta la durata dell'esame.
In funzione del numero di studenti iscritti, saranno definiti più "turni d'esame", ciascuno con circa 20-25 studenti, e sorvegliato da un diverso docente. I compiti assegnati nei diversi turni saranno diversi.

All'orario di inizio dell'esame verrà compiuto l'appello dei presenti: lo studente dovrà identificarsi mostrando in videocamera un documento, e successivamente condividendo brevemente il proprio desktop. Da questo momento la videochiamata non dovrà più essere interrotta fino alla fine della prova (telecamera accesa e desktop condiviso).

Al termine dell'appello verrà trasmesso il testo d'esame (in formato PDF) ed il link GitHub da cui scaricare il "progetto Base". È facoltà dello studente, se lo desidera, stampare il testo (anche allontanandosi dall'inquadratura) nei primi 5 minuti d'esame.

La durata della prova è di 120 minuti dalla pubblicazione del testo.

Durante la prova gli studenti potranno porre domande ai docenti utilizzando la chat in modalità privata.

Durante la prova, in qualsiasi momento i docenti potranno osservare lo schermo condiviso dagli studenti. In caso di dubbi, lo studente è tenuto a giustificare tutte le applicazioni aperte e/o le pagine web aperte. La mancata condivisione comporta l'annullamento della prova.

L'elaborato dovrà essere svolto in Eclipse, partendo dal Progetto Base. Si suggerisce di fare "commit" frequenti (anche solo in locale, senza 'push') e di testare il codice man mano che esso viene sviluppato.

Al termine della prova, lo studente dovrà consegnare l'elaborato attraverso GitHub entro 2 minuti. I compiti non correttamente consegnati entro il termine segnalato saranno considerati come ritirati.
È responsabilità dello studente garantire che il codice consegnato parta correttamente eseguendo la classe Main.

La distribuzione del link a progetto GitHub e la successiva consegna saranno gestite attraverso la piattaforma GitHub Classroom. Le ultime due esercitazioni del corso (in data 03/06 e 10/06) saranno svolte sotto forma di "simulazioni d'esame", organizzate con gli stessi strumenti (Zoom, GitHub Classroom) e le stesse modalità (divisione in gruppi, sorveglianza, consegna) e tempistiche dell'esame effettivo (ovviamente senza correzione né prove orali), in modo da poter identificare e correggere eventuali problemi tecnici. Si auspica la completa partecipazione alle simulazioni d'esame: non si accetteranno lamentele sugli aspetti tecnici qualora fossero rilevati solo il giorno dell'esame.

Per facilitare la auto-valutazione degli studenti, che potranno valutare se ritirarsi oppure accedere alla correzione, si procederà come segue.
1. nel testo d'esame saranno presenti 1-2 esempi di esecuzione del primo punto del programma (dati inseriti ed output corrispondente). Lo studente potrà verificare il proprio programma con i dati proposti, durante lo svolgimento. Qualora non si riesca a raggiungere i risultati corretti (*), il progetto non potrà essere consegnato.
2. dopo la consegna dell'esame i docenti condivideranno ulteriori 1-2 esempi di esecuzione (diversi dai precedenti), con cui gli studenti potranno verificare il proprio programma. Nel caso in cui il programma non ottenga i risultati corretti (*), viene consigliato di ritirarsi dalla prova.
Gli studenti avranno 10 minuti per verificare il funzionamento del proprio programma, e potranno decidere se ritirarsi o proseguire.
(*) nel caso in cui le discrepanze tra la soluzione richiesta e quella ottenuta fossero realmente minime (aspetti estetici, diversi arrotondamenti, errori minimi), è facoltà dello studente consegnare e procedere nella prova, sapendo che, in funzione della causa del malfunzionamento, potrà ottenere una penalizzazione oppure l'insufficienza.

Tutti coloro che decideranno di consegnare verranno sentiti singolarmente per la verifica orale del proprio programma. Ciascuno studente sarà chiamato individualmente a condividere il controllo del proprio desktop ed a mostrare il funzionamento del proprio programma (che dovrà coincidere con quello consegnato su GitHub) e rispondere alle domande poste dal docente.
Le domande verteranno anche sulla verifica della conoscenza, da parte dello studente, del funzionamento del proprio programma, per verificarne l'effettiva paternità.
A seguito di questa verifica, verrà assegnato un VOTO PROVVISORIO relativo all'esercizio numero 1 (oppure verrà comunicata la bocciatura). Gli elaborati verranno poi valutati nei giorni successivi per definire il VOTO COMPLESSIVO che tiene conto anche dell'esercizio numero 2.

 

Nella definizione di queste regole d'esame, i docenti hanno valutato più importante la collaborazione responsabile tra docenti e studenti nel contesto del patto formativo, ed hanno evitato di adottare modalità vessatorie o tecnicamente contorte nelle modalità di svolgimento, anche per evitare l'impatto di eventuali problemi di connessione. Auspichiamo un forte senso di responsabilità da parte di tutti gli studenti. Vista la natura progettuale della prova d'esame, non saranno tollerate soluzioni eccessivamente simili (che possono essere solo indice di comunicazioni illecite), che verranno annullate d'ufficio in modo inappellabile (anche nei giorni successivi, a seguito di verifiche incrociate).

Istruzioni operative per l'esame on-line:

Simulazioni d'esame:

Temi d'esame (i testi più recenti sono tutti su https://github.com/TdP-esami):

 


Prove finali

 

A partire dall'Anno Accademico 2012/2013, il Collegio di Ingegneria Gestionale ha definito che gli studenti debbano sostenere una Prova finale del valore di 3 crediti. Tale prova può essere svolta sulla tematica inerente al tirocinio (qualora esso venga svolto) oppure su tematiche relative alle materie studiate.

Per coloro che intendono svolgere la prova finale relativamente alle tematiche trattate nel corso di Tecniche di Programmazione, ho definito delle modalità che mirano a sviluppare un'esperienza pratica e formativa, ed allo stesso tempo riducano al minimo gli aspetti formali e burocratici, lasciando spazio allo sviluppo e sperimentazione software.

Tutto il processo è gestito attraverso il servizio GitHub, pertanto gli studenti dovranno dotarsi di un idoneo account su tale piattaforma.

Chi è interessato può visionare il regolamento e la relativa documentazione sul seguente repository: https://github.com/TdP-prove-finali/Introduzione

 


 

FAQ 

  • Non sono riuscito/a a seguire il corso di Programmazione ad Oggetti. Cosa posso fare?
    • La buona capacità di programmare in Java è un prerequisito essenziale per questo corso ed è chiaramente indicato sulla guida dello studente. Per supplire parzialmente alla carenza formativa si suggerisce:
      • chiedere al prof. Fabrizio Lamberti di essere abilitati a vedere le sue video lezioni (screencast)
      • prepararsi a studiare autonomamente il linguaggio Java. Posso consigliare il testo "Head First Java" (tutto tranne i capitoli 12, 13, 14, 15, 17, 18).
  • Non ho il corso nel carico didattico, posso comunque sostenere l'esame?
    • No. Chi (per vari motivi) non avesse il corso nel carico didattico, non sarà ammesso a sostenere l'esame. Non ci sono restrizioni per la frequenza in aula o in laboratorio, ma all'esame è richiesto di essere formalmente in regola.

FAQ Coronavirus

  • Come posso seguire le lezioni?
    • Innanzitutto devi seguire i video che vengono pubblicati nella sezione "Registro" (e su youtube)
    • Inoltre dovresti collegarti alle sessioni di Virtual Classroom, negli orari indicati sul "Registro"
  • Come posso seguire i laboratori?
    • Il lunedì di ogni settimana verrà pubblicato (nella sezione "Materiale") il testo dell'esercitazione
    • Scarica il testo (ed il progetto base su cui lavorare) e prova a risolverlo autonomamente
    • Nell'orario stabilito per il laboratorio (mercoledì 08:30-11:30 e 11:30-14:30) puoi collegarti in Virtual Classroom, ed un docente potrà rispondere alle tue domande.

Registro

Questa sezione conterrà il registro delle lezioni, con l'indicazione dell'argomento svolto in ciascuna di esse. Tutte le lezioni sono videoregistrate ed il video è visibile su YouTube .

Legenda: L = Lezione, EA = Esercitazione in aula, EL = Esercitazione in laboratorio

   

DataOreTipoArgomentoVideoMaterialeDocente
    EXTRA Tutorial per l'installazione del software (Windows)   icons8 pdf 48 Fulvio Corno
    EXTRA Tutorial per l'installazione del software (Mac)   icons8 pdf 48 Alberto Monge Roffarello
    L Introduzione al corso icons8 play button 48 icons8 pdf 48 Fulvio Corno
    L Introduzione a Git e GitHub icons8 play button 48 icons8 pdf 48 Fulvio Corno
    L Introduzione a JavaFX icons8 play button 48icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
    EA Esercizio JavaFX (Indovina Numero) icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
10/03/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48 -- Fulvio Corno
11/03/2020 08:30-11:30 EL Laboratorio 1, Squadra 1 (cognomi A-L). icons8 play button 48   Tatiana Tommasi
11/03/2020 11:30-14:30 EL Laboratorio 1, Squadra 2 (cognomi M-Z).   Tatiana Tommasi
    L JavaFX e pattern Model-View-Controller icons8 play button 48 icons8 pdf 48 Fulvio Corno
    EA Esercizio JavaFX con pattern MVC (Indovina Numero) icons8 play button 48  icons8 pdf 48 Alberto Monge Roffarello
    L Java Collection Framework. Lists. icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
    EA Esercizio Collections (LibrettoVoti), prima parte icons8 play button 48 icons8 pdf 48 Fulvio Corno
17/03/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
18/03/2020 08:30-11:30 EL Laboratorio 2, Squadra 2 (cognomi M-Z). icons8 play button 48   Tatiana Tommasi
18/03/2020 11:30-14:30 EL Laboratorio 2, Squadra 1 (cognomi A-L). icons8 pdf 48 Tatiana Tommasi
    EA Esercizio Collections (LibrettoVoti), seconda parte icons8 play button 48   Fulvio Corno
    EA Esercizio Collections (LibrettoVoti), terza parte icons8 play button 48   Fulvio Corno
    L Funzioni di Hash. Hash, Set, Map icons8 play button 48 icons8 pdf 48icons8 pdf 48  Alberto Monge Roffarello
24/03/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
25/03/2020 08:30-11:30 EL Laboratorio 3, Squadra 1 (cognomi A-L). icons8 play button 48   Tatiana Tommasi
25/03/2020 11:30-14:30 EL Laboratorio 3, Squadra 2 (cognomi M-Z).   Tatiana Tommasi
    L Database e JDBC icons8 play button 48 icons8 pdf 48 icons8 pdf 48 Fulvio Corno
    L PreparedStatement, Pattern DAO icons8 play button 48   Fulvio Corno
    EA Esercizio con DAO, prima parte icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
31/03/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
01/04/2020 08:30-11:30 EL Laboratorio 4, Squadra 2 (cognomi M-Z). icons8 play button 48   Tatiana Tommasi
01/04/2020 11:30-14:30 EL Laboratorio 4, Squadra 1 (cognomi A-L). icons8 pdf 48 Tatiana Tommasi
    EA Esercizio con DAO, seconda parte icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
    L Introduzione alla ricorsione icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
    EA Esercizio sulla ricorsione "Anagrammi" icons8 play button 48 icons8 pdf 48 Fulvio Corno
07/04/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
08/04/2020 08:30-11:30 EL Laboratorio 5, Squadra 1 (cognomi A-L). icons8 play button 48   Tatiana Tommasi
08/04/2020 11:30-14:30 EL Laboratorio 5, Squadra 2 (cognomi M-Z).   Tatiana Tommasi
      Vacanze di Pasqua
(no video chat il 14/04 né lab il 15/04)
     
      Introduzione alla complessità icons8 play button 48 icons8 pdf 48  Fulvio Corno
      Esercizi sulla ricorsione (Quadrato Magico) icons8 play button 48 icons8 pdf 48 icons8 pdf 48 Fulvio Corno
      Esercizi sulla ricorsione (Voti Nobel) icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
21/04/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
22/04/2020 08:30-11:30 EL

Laboratorio 6, Squadra 2 (cognomi M-Z).

icons8 play button 48   Tatiana Tommasi
22/04/2020 11:30-14:30 EL Laboratorio 6, Squadra 1 (cognomi A-L).   Tatiana Tommasi
    L Object-Relational Mapping (ORM) icons8 play button 48   Fulvio Corno
    L Connection Pooling icons8 play button 48   Fulvio Corno
    EA Esercizio sulla ricorsione (Ruzzle) icons8 play button 48  icons8 pdf 48 Alberto Monge Roffarello
    L Gestione delle date in Java e SQL icons8 play button 48 icons8 pdf 48 Fulvio Corno
28/04/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
29/04/2020 08:30-11:30 EL Laboratorio 7, Squadra 1 (cognomi A-L). icons8 play button 48   Tatiana Tommasi
29/04/2020 11:30-14:30 EL Laboratorio 7, Squadra 2 (cognomi M-Z).   Tatiana Tommasi
    L Introduzione ai grafi - Introduzione a jGraphT icons8 play button 48 icons8 pdf 48 Fulvio Corno
    L Introduzione alla libreria jGraphT icons8 play button 48 icons8 pdf 48 Fulvio Corno
    EA Esercizio di creazione di grafi (Metro Paris) icons8 play button 48 icons8 pdf 48 Fulvio Corno
    EA Esercizio di creazione di grafi (ArtsMia) icons8 play button 48 icons8 pdf 48  Alberto Monge Roffarello
05/05/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
06/05/2020 08:30-11:30 EL

Laboratorio 8, Squadra 2 (cognomi M-Z).

icons8 play button 48 icons8 pdf 48 icons8 pdf 48 Alberto Monge Roffarello
06/05/2020 11:30-14:30 EL

Laboratorio 8, Squadra 1 (cognomi A-L). 

icons8 pdf 48 icons8 pdf 48 Alberto Monge Roffarello
    L Algoritmi di visita nei grafi. Albero di visita. icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
    EA  Esercizio creazione/visita grafo (FlightDelays) icons8 play button 48  icons8 pdf 48 Alberto Monge Roffarello
    L Cammini minimi nei grafi icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
12/05/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti icons8 play button 48   Fulvio Corno
13/05/2020 08:30-11:30 EL

Laboratorio 9, Squadra 1 (cognomi A-L).

icons8 play button 48 icons8 pdf 48 icons8 pdf 48 Alberto Monge Roffarello
13/05/2020 11:30-14:30 EL

Laboratorio 9, Squadra 2 (cognomi M-Z).

icons8 pdf 48 icons8 pdf 48 Alberto Monge Roffarello
    EA Esercizio grafo & ricorsione (DenverCrimes) icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
    L Alberi e Code Prioritarie icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
    L Simulazioni ad eventi discreti icons8 play button 48 icons8 pdf 48 Fulvio Corno
    EA Simulazioni ad eventi discreti: esercizio Noleggio Auto icons8 play button 48 icons8 pdf 48 Fulvio Corno
19/05/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti
icons8 play button 48   Fulvio Corno
20/05/2020 08:30-11:30 EL Laboratorio 10, Squadra 2 (cognomi M-Z) icons8 play button 48 icons8 pdf 48icons8 pdf 48 Fulvio Corno
20/05/2020 11:30-14:30 EL Laboratorio 10, Squadra 1 (cognomi A-L) icons8 pdf 48icons8 pdf 48 Fulvio Corno
    EA Simulazioni ad eventi: esercizio Gestione Migrazioni icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
    L Cicli Euleriani, Cicli Hamiltoniani icons8 play button 48 icons8 pdf 48 Fulvio Corno
    EA Simulazioni ad eventi: esercizio Emergency icons8 play button 48 icons8 pdf 48 Fulvio Corno
26/05/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti
icons8 play button 48   Fulvio Corno
27/05/2020 08:30-11:30 EL

Laboratorio 11, Squadra 1 (cognomi A-L)

icons8 play button 48 icons8 pdf 48icons8 pdf 48 Alberto Monge Roffarello
27/05/2020 11:30-14:30 EL

Laboratorio 11, Squadra 2 (cognomi M-Z)

icons8 pdf 48icons8 pdf 48 Alberto Monge Roffarello
    EA Tema d'esame del 20/01/2020 icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
    EA Tema d'esame del 12/07/2019 icons8 play button 48icons8 play button 48 icons8 pdf 48 Fulvio Corno
02/06/2020     Festa della Repubblica
(no video chat)
     
03/06/2020 9:30-11:30 EL Simulazione d'esame n. 1
Link GitHub Classroom:  https://classroom.github.com/a/ozHLZ3WQ

Consultare le istruzioni operative per l'utilizzo di GitHub Classroom
-- icons8 pdf 48 Fulvio Corno, Alberto Monge Roffarello, Tatiana Tommasi
    EA Simulazione d'esame del 05/06/2019 icons8 play button 48 icons8 pdf 48 Alberto Monge Roffarello
    EA Tema d'esame del 03/09/2019 icons8 play button 48icons8 play button 48 icons8 pdf 48 Fulvio Corno
09/06/2020 11:30-13:00 EA Video Chat: discussione e domande sulle video-lezioni precedenti
icons8 play button 48   Fulvio Corno
10/06/2020 9:30-11:30 EL Simulazione d'esame n. 2
Link GitHub Classroom: https://classroom.github.com/a/UEjSILiR
--  icons8 pdf 48 Fulvio Corno, Alberto Monge Roffarello, Tatiana Tommasi