Skip to Main Content (Press Enter)

Logo UNIBG
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Persone
  • Pubblicazioni
  • Strutture
  • Terza Missione
  • Attività
  • Competenze

UNI-FIND
Logo UNIBG

|

UNI-FIND

unibg.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Persone
  • Pubblicazioni
  • Strutture
  • Terza Missione
  • Attività
  • Competenze
  1. Insegnamenti

PROGRAMMAZIONE PER DATA SCIENCE E DATA MANAGEMENT - 97R012-1

insegnamento
ID:
97R012-1
Dettaglio:
SSD: SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Durata: 48 CFU: 6
Sede:
BERGAMO
Url:
Dettaglio Insegnamento:
DATA ANALYTICS, ECONOMIA E TECNOLOGIE DIGITALI - 97-270R/PERCORSO COMUNE Anno: 2
Anno:
2026
Course Catalogue:
https://unibg.coursecatalogue.cineca.it/af/2026?co...
  • Dati Generali
  • Syllabus
  • Corsi
  • Altre Info

Dati Generali

Periodo di attività

Primo Semestre (14/09/2026 - 18/12/2026)

Syllabus

Obiettivi Formativi

Questo primo modulo del corso ha l’obiettivo di rafforzare, mettendoli in pratica, i concetti di programmazione procedurale e basi di dati introdotti nei corsi del primo anno, declinandoli nell’ambito applicativo dell’analisi dei dati di tipo strutturato. Il corso ripercorrerà brevemente i concetti fondamentali della programmazione procedurale (costrutti, tipo delle variabili,…) visti nel primo anno, attraverso l’ambiente Python. Verranno poi introdotte le strutture dati fondamentali di Python e quelle più derivanti dallo storage dei dati in memoria per l’analisi. Dopodiché, verranno introdotte le librerie Python principali per l’analisi di dati strutturati, con particolare enfasi alla rappresentazione di questi dati nell’ambiente di sviluppo e la loro pulizia (data cleaning). Verranno presentate brevemente anche le librerie principali per la visualizzazione dei dati, assieme alle librerie per l’analisi descrittiva dei dataset e l’applicazione di metodi di clustering o apprendimento supervisionato. Verranno forniti dei cenni alla programmazione orientata agli oggetti. Chi volesse approfondire questo argomento può seguire il corso di Programmazione Object Oriented e Web scegliendo il percorso informatico-ingegneristico.

Alla fine del modulo gli studenti e le studentesse saranno in grado di:

  • Importare dataset strutturati di formato diverso in ambiente di programmazione Python per l’analisi
  • Effettuare operazioni per pulizia del dato in ambiente Python
  • Effettuare analisi descrittive in ambiente Python
  • Utilizzare le più comuni librerie Python per l’analisi del dato, il clustering e l’apprendimento supervisionato.



Prerequisiti

Buona conoscenza degli argomenti sviluppati nei seguenti corsi del primo anno:
- Analisi matematica 1 e algebra lineare
- Informatica per data science
- Statistica descrittiva e calcolo delle probabilità


Metodi didattici

Il percorso didattico proposto agli studenti e alle studentesse è il seguente:
1) Seguire la lezione frontale esposta con il supporto di diapositive. Esse sono spesso disponibili prima dell’inizio della lezione ed è utile che lo studente visioni le diapositive di una lezione prima di seguire la lezione.
2) Studiare gli argomenti della lezione con l’ausilio del libro di testo, delle diapositive e degli appunti personali.
3) Seguire le esercitazioni in aula computer o in classe con ausilio di proprio computer portatile.
Viene data molta importanza alla partecipazione attiva alle lezioni da parte degli studenti e delle studentesse, che viene stimolata mediante un dialogo continuo.

Verifica Apprendimento

È previsto un unico esame vertente contestualmente sul primo modulo (97R012-1) e sul secondo modulo (97R012-2).
La valutazione finale, in trentesimi, risulterà dalla media delle valutazioni ottenute su ogni modulo. L’esame è superato se lo studente dimostra una preparazione sufficiente sugli argomenti di entrambi i moduli.

L'esame consiste in una prova di programmazione al computer con domande di teoria.

Contenuti

Introduzione al corso
• Le fonti di dati e i loro formati
• Dati strutturati e semi-strutturati: CSV, TSV, XML, JSON, SQLite, Parquet, HDF5
• Dati non strutturati: immagini, testo e audio. Loro rappresentazione nel computer

Linguaggio Python
• Ecosistema, il concetto di libreria e della sua versione, Colab, IDE e ambienti di sviluppo
• Tipi di dati di base (int, float, string, bool, ...), variabili, funzioni e stampa a schermo
• Istruzioni condizionali (if, elif, else) e cicli for
• Liste, dizionari, lettura e scrittura di file, manipolazione delle stringhe
• Importazione di librerie
• Stile di scrittura del codice: camelCase, snake_case e THIS_IS_A_CONSTANT

Complementi di algoritmi
• Il concetto di ricorsione
• Algoritmo Merge Sort

Librerie NumPy e Pandas
• Motivazione. Array NumPy, broadcasting, proprietà e metodi, cenni alle operazioni tra matrici (trasposizione e prodotto matriciale), generazione di numeri pseudo-casuali
• Indicizzazione, confronti, masking e ordinamento degli array
• La struttura dati DataFrame di Pandas. Importazione di diversi tipi di dataset. Web scraping (cenni)
• GroupBy e tabelle Pivot. Slicing. Ordinamento, sottoinsiemi, creazione, eliminazione e rinominazione di colonne. Filtraggio di righe e colonne (query). Join e merge
• Lavorare con le date

Data Cleaning
• Tipi di dati per la data science (dati categorici vs. quantitativi, formato data/ora)
• Importazione di dataset in diversi formati (CSV, TSV, Excel, Parquet, ...)
• Il concetto di Tidy Data. Operazioni di melt, stack e pivot
• Gestione dei dati mancanti (cenni)
• Uniformazione di date e stringhe. Espressioni regolari (cenni)

Visualizzazione dei dati (cenni)
• Libreria Matplotlib
• Libreria Streamlit per dashboard
• Analisi esplorativa dei dati

Libreria scikit-learn
• Razionale e funzionalità principali
• Motivazione e concetto di clustering
• Clustering (cenni)
• Esempio in Python di clustering con scikit-learn

Strumenti
• Markdown
• Git e GitHub

Cenni di programmazione orientata agli oggetti
• Concetti fondamentali: classi, oggetti, attributi, metodi e notazione

Risorse Online

  • Materiali didattici online (e-learning)
  • Leganto - Testi d'esame

Altre informazioni

Tutti i materiali didattici saranno disponibili sulla pagina Moodle del corso. Gli studenti e le studentesse sono invitati a iscriversi alla pagina per ricevere tempestivamente avvisi, messaggi e aggiornamenti sullo svolgimento delle lezioni.
La frequenza è fortemente consigliata. Gli studenti e le studentesse impossibilitati a frequentare sono invitati a contattare i docenti per ricevere indicazioni sul programma e sui materiali didattici. Le modalità della prova d’esame sono identiche sia per i frequentanti sia per i non frequentanti.

Chi volesse approfondire gli argomenti del corso può seguire i corsi di Programmazione Object Oriented e Web e Ingegneria delle applicazioni data intensive scegliendo il percorso informatico-ingegneristico.

Corsi

Corsi

DATA ANALYTICS, ECONOMIA E TECNOLOGIE DIGITALI - 97-270R 
Laurea
3 anni
No Results Found

Altre Info

Insegnamento principale

PROGRAMMAZIONE PER DATA SCIENCE, DATA MANAGEMENT E RETI NEURALI
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 26.7.2.0