Programma di Linguaggi Di Programmazione:

Questo modulo introduce gli studenti al pensiero computazionale e alla progettazione di soluzioni algoritmiche attraverso il linguaggio Python. L’obiettivo formativo è duplice: da un lato, acquisire padronanza della sintassi di base (tipi, operatori, controllo di flusso, funzioni e strutture dati); dall’altro, sviluppare buone pratiche di programmazione orientate alla leggibilità, alla gestione degli errori e alla riproducibilità. Le lezioni combinano spiegazioni teoriche e live coding, seguite da esercitazioni guidate in laboratorio. Verranno affrontati file I/O, modularità del codice, ambienti virtuali e principi essenziali di testing. Una particolare attenzione è dedicata all’analisi di dati tabellari: NumPy per il calcolo vettoriale, pandas per il wrangling (pulizia, trasformazioni, join, aggregazioni) e Matplotlib per la visualizzazione di andamenti e distribuzioni. Gli studenti realizzeranno notebook tematici, ciascuno con obiettivi chiari, commenti espliciti e risultati verificabili, in modo da consolidare una metodologia di lavoro trasparente e replicabile. Al termine, saranno in grado di decomporre un problema, scegliere strutture adeguate, scrivere funzioni testabili, diagnosticare bug e presentare analisi elementari ma corrette. La valutazione conterrà una prova scritta su concetti e sintassi e una consegna pratica focalizzata su qualità del codice (chiarezza, correttezza, efficienza proporzionata), uso appropriato delle librerie e comunicazione dei risultati. Non sono richieste conoscenze pregresse di programmazione; una familiarità con logica di base e fogli di calcolo facilita l’avvio. Il modulo fornisce competenze trasversali utili anche oltre l’informatica, come il problem solving sistematico, la documentazione essenziale e la collaborazione su risorse condivise.