Nuova ricerca

FABIO D'ANDREAGIOVANNI

Professore Associato
Dipartimento di Scienze e Metodi dell'Ingegneria

Insegnamento: Fondamenti di Programmazione

Ingegneria gestionale (Offerta formativa 2024)

Obiettivi formativi

Il corso mira a fornire le conoscenze e le competenze necessarie all'interpretazione e creazione autonoma di semplici programmi Python per l'elaborazione di dati.
Tali conoscenze sono propedeutiche ad un utilizzo consapevole dei sistemi informatici che gli studenti useranno sia durante la carriera universitaria che nella propria vita lavorativa.
Le competenze acquisite sono inoltre propedeutiche alla creazione, modifica, estensione, e utilizzo dei programmi di analisi dati con cui gli studenti si troveranno ad interagire durante la propria carriera universitaria e lavorativa.
Per una più completa comprensione degli obiettivi formativi, si rimanda alla lettura dei risultati di apprendimento attesi a seguito dello svolgimento del presente percorso formativo.

Prerequisiti

Non sono previsti prerequisiti, se non una dimestichezza basilare con il computer (e.g., navigazione in internet, creazione files e cartelle, download/upload di file, utilizzo editor di testo).

Programma del corso

La seguente divisione dei contenuti del corso in ore e CFU è indicativa e potrà essere soggetta a modifiche in base al riscontro ottenuto dagli studenti durante le lezioni.

Introduzione all'informatica e Python (~9 ore, 1 CFU):
- presentazione del corso;
- introduzione all'informatica;
- introduzione alla programmazione;
- introduzione a Python;
- tipi di dato semplici;
- operatori;
- istruzioni condizionali;
- cicli;
- I/O da/su console.

Python: tipi di dato composti (~9 ore, 1 CFU):
- le liste (sintassi, semantica, operazioni comuni);
- gli insiemi (sintassi, semantica, operazioni comuni);
- i dizionari (sintassi, semantica, operazioni comuni).

Python: stringhe e files (~9 ore, 1 CFU):
- manipolazione stringhe, ricerca;
- apertura file e cartelle, ricerca, lettura, scrittura e chiusura.

Python: funzioni (~9 ore, 1 CFU):
- definizione;
- utilizzo;
- librerie.

La parte finale del corso (~18 ore, 2 CFU) sarà dedicata al consolidamento di tutte le conoscenze acquisite in preparazione dell'esame.

Metodi didattici

Le lezioni vengono erogate mediante lezioni frontali in presenza, svolte con l'ausilio di materiale audio-visivo (presentazioni) ed esercitazioni pratiche in classe.
La frequenza delle lezioni frontali ed esercitazioni in presenza non è obbligatoria ma fortemente consigliata.

L'insegnamento è erogato in lingua italiana.
Il materiale didattico è disponibile in lingua inglese su richiesta.

Testi di riferimento

Il materiale didattico presentato e discusso durante le lezioni, i.e.
- file powerpoint delle lezioni;
- esercizi di programmazione;
- dispense integrative dei file powerpoint;
verrà regolarmente pubblicato sul portale Moodle dopo ogni lezione.

Testo di riferimento:
"Python Crash Course, A Hands-On, Project-Based Introduction to Programming" (Eric Matthes, No Starch Press, 2nd Edition 2019)

Verifica dell'apprendimento

L'esame si svolgerà al termine del corso secondo il calendario ufficiale degli appelli d'esame pubblicato sul portale Esse3.
La prova è pratica e viene svolta al computer.
La durata è di 2 ore
L'esame prevede lo sviluppo di un programma Python in grado di leggere dati da file e processarli, fornendoli poi in output in una forma opportuna.
Il programma da sviluppare è finalizzato a:
- verificare le conoscenze del linguaggio di programmazione acquisite durante il corso;
- verificare la capacità degli studenti di combinare opportunamente e applicare tali conoscenze;
- verificare la capacità di risolvere problemi nuovi tramite le conoscenze di programmazione acquisite.
Il voto riportato nell'esame è dato dalla somma dei punti ottenuti nei singoli esercizi di programmazione che costituiranno la prova finale.
Gli esiti saranno comunicati entro e non oltre una settimana dalla prova e la loro pubblicazione avverrà tramite il portale Esse3.

Risultati attesi

I risultati attesi principali sono l'acquisizione dei concetti fondamentali della programmazione e della sintassi necessaria per sviluppare semplici codici in linguaggio Python.

1) Conoscenza e capacità di comprensione
al termine del Corso, lo/a studente/essa conoscerà la terminologia informatica di base e le costruzioni fondamentali della programmazione. Sarà inoltre in grado di interpretare correttamente programmi Python di moderata complessità.

2) Capacità di applicare conoscenza e comprensione.
al termine del Corso, lo/a studente/essa sarà in grado di realizzare semplici programmi in linguaggio Python, in particolare finalizzati al processamento di dati e ad una corretta gestione di flussi di dati di input e output.

Autonomia di giudizio. Saper valutare la correttezza e l'efficienza di semplici programmi JavaScript.

Abilità comunicative. Saper interpretare il testo strutturato che esprime una specifica.

5) Capacità di apprendimento.
Al termine del Corso, lo/a studente/essa sarà in grado di estendere le proprie conoscenze di programmazione, avendo acquisito la capacità di comprendere autonomamente testi informatici introduttivi, e di impiegarle in nuovi contesti applicativi.