SISTEMI INFORMATIVI PER IL MANAGEMENT 1° MODULO
cod. 1008756

Anno accademico 2022/23
3° anno di corso -
Docente
- Francesco ZAMMORI
Settore scientifico disciplinare
Ingegneria economico-gestionale (ING-IND/35)
Field
Ingegneria gestionale
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede: -
insegnamento
in ITALIANO

Modulo dell'insegnamento integrato: SISTEMI INFORMATIVI PER IL MANAGEMENT

Obiettivi formativi

Alla fine del corso gli studenti saranno padroni dei principali strumenti per l’analisi dei dati e per il calcolo numerico.

Prerequisiti

Il corso richiede esclusivamente nozioni d’informatica di base. Tutti gli argomenti verranno comunque affrontati partendo dalle basi e, pertanto, saranno fruibili anche in assenza dei prerequisiti indicati.

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 è sull'uso di Python 3.6 (o superiore) e delle sue principali librerie per il calcolo scientifico.

Programma esteso

- 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

1) Pensare in Python, by Allen Downey, edited by O’Reilly
2) Learning Python, by Mark Lutz, edited by O’Reilly
3) The Python Workbook, Second Edition, by Ben Stephenson Edited by Springer

Saranno inoltre fornite dispense ed eserciziari (a cura del docente) su tutti gli argomenti trattati a lezione.

Metodi didattici

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.
Circa il 50% delle lezioni saranno svolte nel laboratorio informatico.

Modalità verifica apprendimento

La parte inerente la programmazione in Python incide per circa i due terzi del voto complessivo.
La verifica prevede una prova scritta della durata di circa 1.5 ore, che si compone di 3-5 esercizi a livello di difficoltà crescente. Tale prova si svolgerà contestualmente alla prova su Excel 365.
La prova è organizzata in modo che sia possibile svolgerla interamente "su carta", ma è comunque possibile svolgerla utilizzando il proprio computer portatile.
La prova orale è opzionale, obbligatoria solo per gli studenti che abbiano conseguito un punteggio inferiore a 20.

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 dPython 3.6 o superiore. Si consiglia inoltre l'installazione dell'editor Anaconda.