Studiare

In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.

Piano Didattico

Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.

1° Anno

InsegnamentiCreditiTAFSSD

2° Anno  Attivato nell'A.A. 2023/2024

InsegnamentiCreditiTAFSSD
Attivato nell'A.A. 2023/2024
InsegnamentiCreditiTAFSSD
Insegnamenti Crediti TAF SSD
Tra gli anni: 1°- 2°
1 module among the following (a.a. 2023/24: Data protection in business organizations not activated)
6
C
IUS/17
Tra gli anni: 1°- 2°
2 modules among the following (a.a. 2023/24: Statistical methods for business intelligence not activated)
Tra gli anni: 1°- 2°
2 modules among the following

Legenda | Tipo Attività Formativa (TAF)

TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S009064

Crediti

12

Lingua di erogazione

Inglese en

Settore Scientifico Disciplinare (SSD)

INF/01 - INFORMATICA

L'insegnamento è organizzato come segue:

Programming

Crediti

6

Periodo

Primo semestre

Database
Attività mutuata da Data warehouse and integration del corso: Laurea magistrale in Computer Engineering for Robotics and Smart Industry

Crediti

6

Periodo

Secondo semestre

Docenti

Elisa Quintarelli

Obiettivi di apprendimento

Il corso si articola come segue [Modulo Programmazione] Scopo del modulo è fornire competenze e conoscenze in programmazione in Python, dando i concetti di base di algoritmo con particolare riferimento all’utilizzo del linguaggio Python (sintassi, strutture dati, data import/export in Python, data visualization in Python) e sue applicazioni in ambito data science [Modulo di Basi di dati] Il corso si propone di fornire le competenze necessarie per la progettazione e analisi dei dati in funzione dei requisiti con riferimento a diversi contesti applicativi e nell'ambito del processo di produzione di sistemi software; per la gestione e fruizione efficace ed efficiente dei dati e per lo studio di un sistema per la gestione di basi di dati relazionali al fine di creare, gestire e interrogare basi di dati e data warehouse. Al termine del corso lo studente dovrà dimostrare di: ● saper sviluppare codice Python per risolvere esempi concreti ● conoscere sintassi e semantica del linguaggio utilizzato ● saper manipolare e visualizzare dati usando librerie come Numpy, Pandas e Matplotlib ● conoscere le basi di: gestione di basi di dati; architettura e funzionalità di un sistema per la gestione di basi di dati; concetti di indipendenza fisica, indipendenza logica, persistenza, concorrenza, affidabilità, interrogazione e aggiornamento di una base di dati; vantaggi di un sistema per la gestione di basi di dati rispetto al file system di un sistema operativo ● saper progettare concettualmente basi di dati, e.g., modelli concettuali per il progetto dei dati; il modello Entità-Relazione (E-R); elementi del modello E-R: entità, attributi, relazioni, gerarchie di generalizzazione e vincoli di cardinalità; lo schema concettuale di una base di dati ● conoscere le basi della progettazione logica di una base di dati: modelli dei dati per i sistemi di gestione di basi di dati; il modello relazionale; definizioni di relazione, vincoli di integrità e schema relazionale; lo schema logico di una base di dati; regole per la traduzione di schemi concettuali in schemi relazionali ● comprendere i meccanismi di interazione con una base di dati: introduzione ai linguaggi per la definizione, modifica e interrogazione di una base di dati; l’algebra relazionale; ottimizzazione di espressioni dell'algebra; il linguaggio SQL; il costrutto di selezione (Select-From-Where), interrogazioni nidificate, ordinamento e raggruppamento dei dati in SQL; il concetto di vista ●saper progettare concettualmente e logicamente un data warehouse dopo aver integrato i dati (approcci GAV E LAV) e conoscere la differenza tra procedure OLTP e OLAP ● conoscere le principali caratteristiche dei nuovi modelli NoSQL e saper scegliere quale modello scegliere in base all'applicazione da sviluppare

Prerequisiti e nozioni di base

Concetti base di logica e della nozione di algoritmo

Programma

Il corso di articola in due moduli:
------------------------
Programming
------------------------
1. Introduzione allo sviluppo del software
- Riepilogo della programmazione procedurale
- Notebook Jupyter, Python
- Analisi dei requisiti del prodotto software

2. Analisi dei dati
- Caricamento di dati strutturati e non strutturati
- Manipolazione dei dati con Numpy e Pandas
- Visualizzazione dei dati con Matplotlib

3. Scientific computing
- NumPy e l'ecosistema open source Python in generale
- Introduzione a Sklearn

4. OOP
- Fondamenti di OOP
- OOP nei prodotti open source
- Riprogettazione della programmazione procedurale

5. Operazionalizzazione
- Operazionalizzazione con Notebook
- Operazionalizzazione con Streamlit

------------------------
Database
------------------------
1. INTRODUZIONE AL CORSO
1. Il sistema informativo nell'azienda
2. Caratteristiche dei DBMS e concetto di transazione
3. Utenti, strumenti e moduli di un DBMS
4. Sistema Informativo e Data Science
2. TEORIA RELAZIONALE
1. Il modello relazionale dei dati, sua definizione (informale e formale) e concetti fondamentali
2. Algebra relazionale: operazioni unarie e binarie
3. Interrogazioni in algebra relazionale e loro ottimizzazione
3. LINGUAGGI PER BASI DI DATI
1. Introduzione a SQL: standardizzazione di SQL, domini SQL, vincoli e semplice definizione di tabelle
2. SQL come DDL: integrità referenziale, definizione di schemi e loro modifica, cataloghi relazionali
3. Interrogazioni SQL semplici, interrogazioni con ordinamenti e raggruppamenti, Interrogazioni SQL complesse
4. Comandi di modifica e viste in SQL
5. Aspetti evoluti del DDL: indici e vincoli di integrità generici, controllo dell'accesso, viste e controllo dell'accesso
4. PROGETTAZIONE DI BASI DI DATI
1. Fasi della progettazione
2. Le astrazioni nella progettazione dei dati
3. Il modello Entità-Relazioni: definizione, associazioni, identificatori e gerarchie, proprietà delle gerarchie
4. Progettazione logica: fasi del progetto logico, eliminazione delle gerarchie, gestione degli identificatori, gestione degli attributi, gestione delle associazioni, normalizzazione (cenni)
5. SISTEMI DI SUPPORTO ALLE DECISIONI
1. Datawarehouse
2. Progettazione di Datawarehouse su dati integrati (approcci GAV e LAV)
3. Interrogazioni OLAP
6. CENNI SUI MODELLI DI DATI NO-SQL

Bibliografia

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Modalità didattiche

Lezioni frontali ed esercitazioni pratiche

Modalità di verifica dell'apprendimento

L’esame prevede una prova scritta di due ore, eventualmente integrata da un orale a discrezione del docente, contenente alcune domande aperte di teoria, un esercizio sulla progettazione concettuale (modello E-R o schema DFM) e logica (modello relazionale) di una base di dati, e alcuni esercizi su interrogazioni in SQL su una base di dati assegnata.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI

Criteri di valutazione

Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i concetti che stanno alla base della teoria delle basi di dati relazionali e dei data warehouse e della loro progettazione;
- essere in grado di esporre le proprie argomentazioni in modo preciso e organico;
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di domande ed esercizi.
Il voto dello scritto sarà fino ad un massimo di 33 punti (30 e Lode).

Criteri di composizione del voto finale

Il voto finale sarà la media dei voti ottenuti nelle parti di Programming e Database.

Lingua dell'esame

Inglese