Obiettivi formativi
Alla fine del corso gli studenti saranno padroni dei principali strumenti per l’analisi dei dati e per il calcolo numerico. In particolare, saranno in grado di:
(i) analizzare dati e creare dashboard di controllo,
(ii) formalizzare un problema schematizzandolo in termini logico-funzionali,
(iii) definire e formalizzare algoritmi risolutivi,
(iv) scegliere lo strumento migliore per la soluzione del problema,
(v) risolvere tipici problemi di ingegneria e di ricerca operativa per via numerica.
Prerequisiti
Il corso richiede una buona conoscenza delle funzionalità di base di Excel (es. riferimenti, funzioni, formattazione, ecc.). oltre a nozioni d’informatica di base. Tutti gli argomenti verranno comunque affrontati partendo dalle basi e, pertanto, saranno fruibili anche in assenza dei prerequisiti indicati.
Inoltre, dato che i problemi trattati vertono su tematiche proprie dell’ingegneria gestionale, per una piena fruizione dei contenuti si ritengono propedeutici i seguenti insegnamenti:
(i) gestione ed economia aziendale,
(ii) gestione della produzione e logistica,
(iii) metodi e modelli della ricerca operativa.
Contenuti dell'insegnamento
Il corso introduce i principali strumenti informatici necessari all’analisi dei dati ed alla risoluzione numerica di problemi tipici dell’ingegneria, e dell’ingegneria gestionale.
In particolare il focus verte sull’utilizzo avanzato di Excel 365 e sulla realizzazione di programmi di calcolo e di simulazione mediante il linguaggio di programmazione Python 3.9 e le sue principali librerie per il calcolo scientifico.
Programma esteso
1. Excel per l'ingegneria e la scienza
- Richiami sui riferimenti e sulle formule di base.
- Richiami sulle tabelle di calcolo.
- Richiami sulla creazione di grafici e dashboard.
- Formule logiche e formattazione condizionale.
- Formule di ricerca e riferimento.
- Uso della funzione 'Lambda' per la creazione di formule personalizzate.
- Uso della funzione 'Let' per la semplificazione di formule annidate.
- Formule in forma matrice, e formule (es. MakeArray) per la creazione di vettori e matrici
- Strumenti di filtraggio e tabelle Pivot.
- Formule avanzate di filtraggio.
- Ricerca obiettivo, analisi dati e risolutore.
2. Python 3.6 per l'ingegneria e la scienza
- Introduzione alla programmazione (variabili e tipi di base).
- L’ambiente di sviluppo, Anaconda e Spyder.
- Istruzioni logiche, istruzioni IF...Then...Else.
- Iterazione (For Loops, While Loops, Nested Loops, Utilizzo di Else all’interno di cicli).
- Funzioni (Funzioni di base, Funzioni che ritornano un valore, Visibilità delle variabili).
- Tipi avanzati (liste, tuple, dizionari ed insiemi).
- Approfondimenti sulle funzioni (Funzione lamba, parametri opzionali).
Funzioni che accettano altre funzioni,
Closures: funzioni che restituiscono altre funzioni,
Ricorsione: funzioni che richiamano sé stesse.
- Generatori ed iteratori.
- Gestione degli errori (try ... except) e debug.
- Programmazione ad oggetti:
Classi ed Oggetti,
Costruttori,
Metodi,
Metodi magici.
- Ereditarietà e polimorfismo.
- Le proprietà degli oggetti.
- Creazione di strutture dati personalizzate (code, liste ricorsive, grafi e alberi).
Bibliografia
Libri di testo su EXCEL
1) Analisi Dati con Excel 2013, di Francesco Borazzo, edito da Apogeo
2) Excel 2013 The missing manual, by Matthew MacDonald, edited by O’Reilly
Libri di testo su Python 3.0
1) Pensare in Python, by Allen Downey, edited by O’Reilly
2) Learning Python, by Mark Lutz, edited by O’Reilly
Eserciziari
1) The Python Workbook, Second Edition, by Ben Stephenson Edited by Springer
2) Excel Workbook, by Ballerini et al., Edited by Egea Editori
Saranno inoltre fornite dispense ed eserciziari (a cura del docente) su tutti gli argomenti trattati
Metodi didattici
Il corso verte sull'utilizzo di Excel 365 e di Python 3.6 o superiore. Circa il 70% delle ore concernono programmazione (per l'ingegneria) con Python, il restante 30% riguarda l'uso avanzato di Excel 365.
Il corso ha contenuti sia teorici, sia pratici. Gli aspetti teorici verranno esposti utilizzando "lavagna e gessetti colorati" e, eventualmente, proiettando a video codice eseguibile scritto sul momento. In tal senso, si consiglia agli studenti di venire a lezione con il proprio portatile, al fine di poter eseguire direttamente il codice presentato dal docente. Si precisa altresì, che non verranno utilizzate (e non verranno distribuite) slide power point.
Sono inoltre previste sessioni pratiche nei laboratori informatici in cui verranno sviluppati applicativi funzionanti utilizzando Excel 365 o Python, atti a consolidare ed approfondire gli aspetti teorici precedentemente introdotti. Teoria e pratica di Excel 365 saranno svolti esclusivamente nei laboratori informatici.
Tutto il materiale realizzato in laboratorio verrà reso disponibile e, di pari passo con l’avanzamento del corso, verranno fornite dispense ed eserciziari (redatte dal docente), a copertura di tutti gli elementi trattati.
Modalità verifica apprendimento
E' prevista una prova scritta della durata di 2 ore. Tale prova si compone di:
(i) 1-2 esercizi su Excel 365, per un punteggio di 8-10 punti,
(ii) 3-5 esercizi su Python, a livello di difficoltà crescente, per un totale di 20-22 punti.
La prova è organizzata in modo che sia possibile svolgerla interamente "su carta", ma è comunque possibile svolgerla utilizzando il proprio computer portatile.
E' inoltre prevista una prova orale obbligatoria per i soli studenti che, allo scritto, hanno conseguito un punteggio compreso tra 16 e 19 punti.
Agli studenti che hanno conseguito un punteggio superiore a 24 è data facoltà di preparare un progettino finale, discusso in una successiva prova orale, per incrementare il voto dello scritto. Tale attività è obbligatoria per chi voglia verbalizzare voti superiori a 27.
Altre informazioni
Il 50% del corso si svolgerà in aule didattiche tradizionali, mentre la restante parte sarà nei laboratori informatici.
E' comunque possibile, e fortemente consigliato, portare il proprio portatile anche durante le ore di teoria. E' anche possibile utilizzare il proprio laptop in sostituzione dei pc presenti nei laboratori.
A tal fine è necessario essere dotati di Excel 365 e di Python 3.6 o superiore. Si consiglia inoltre l'installazione dell'editor Anaconda.
Obiettivi agenda 2030 per lo sviluppo sostenibile
Obiettivo 9: Industria, innovazione e infrastrutture