- Area di Scienze
- Corso di Laurea Triennale
- Scienze e Tecnologie per l'Ambiente [E3201Q]
- Insegnamenti
- A.A. 2020-2021
- 3° anno
- Informatica
- Introduzione
Syllabus del corso
Obiettivi
Il corso si prefigge due obiettivi principali:
1) fornire le nozioni fondamentali per la comprensione e
l’interrogazione di basi di dati con particolare attenzione al linguaggio SQL. In particolare gli studenti impareranno le nozioni elementari per poter modellare la realtà attraverso una base di dati. Gli studenti familiarizzeranno con le basi di dati relazionali. Attraverso le attività di laboratorio metteranno in pratica le nozioni di teoria e impareranno a recuperare le informazioni contenute in una base di dati, attraverso oppurtune istruzioni in SQL. Le nozioni teoriche e pratiche permetteranno agli studneti di poter gestire i dati che tipicamente provengono da attività sperimentali legate al loro corso di studio.
2) fornire le conoscenze di base di programmazione necessarie per
utilizzare Matlab e per approfondire lo studio di ulteriori linguaggi di
programmazione. Gli studenti incominceranno a familiarizzare con la programmazione, partendo direttamente dall'utilizzo di Matlab, applicandolo a dati a loro familiari. Verranno anche guidati nella scrittura di codici per l'analisi statistica dei dati.
Il corso ha un carattere fortemente laboratoriale. Le nozioni acquisite durante le ore di lezione frontale vengono applicate con esempi concreti su dati reali (prevalentemente forniti da altri docenti del corso di laurea).
Alla fine del corso gli studenti saranno in grado autonomamente di organizzare e interrogare una semplice base di dati relazionale e scrivere codici base in matlab per analizzare dati.
Contenuti sintetici
Introduzione alle basi di dati: modello Entità Relazione, modello relazionale, linguaggio SQL. Esercitazioni pratiche in laboratorio.
Basi di programmazione: programmazione in matlab finalizzata ad analisi, visualizzazione e trattamento di dati sperimentali.
Programma esteso
1) Introduzione alle Basi di Dati
· Il modello Entità Relazione: concetti di entità, relazione, attributo, generalizzazione, sottoinsieme, identificatore, vincoli di integrità.
· Il modello Relazionale: concetti di relazione, schema di relazione, attributo, dominio, chiave, vincolo di integrità, schema di base di dati.
· Il linguaggio SQL per la creazione di basi di dati (Data Definition Language). Creazione di uno schema.
· Il linguaggio SQL per l’interrogazione di basi di dati (Data Manipulation Language). Istruzioni di Select semplici, l’operatore di Join, gli operatori aggregati, le istruzioni Select nidificate.
- Esercitazioni e laboratorio mirate alla creazione di una semplice basi di dati e alla sua interrogazione.
2) Fondamenti di programmazione (utilizzando Matlab):
· Algoritmi di programmazione: cosa sono e cosa servono
· Tipi di dati
· Definizione di variabili e parametri
· Costrutti di controllo (if e switch) e cicli (for,while)
· Funzioni, variabili di input e di output
· Importazione dei dati
· Salvataggio dei dati
o Esercitazioni e laboratorio utilizzando Matlab. Applicazione dei concetti teorici all’analisi di dati sperimentali, con particolare attenzione all’analisi statistica e visualizzazione dei dati stessi.
Prerequisiti
Nessuno
Modalità didattica
Lezione
frontale, 3 cfu (24 ore)
Esercitazione, 2 cfu (20 ore)
Laboratorio, 1 cfu (10 ore)
Il corso è erogato in italiano.
Nel periodo di emergenza Covid-19 le lezioni e le esercitazioni si svolgeranno prevalentemente in videoconferenza in modalità da remoto sincrona, con eventuali contributi registrati in modalità asincrona. Il laboratorio si svolgerà invece in modalità da remoto asincrono con eventi in videoconferenza sincrona per chiarire eventuali dubbi.
Materiale didattico
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone: Basi di Dati: Modelli e linguaggi di interrogazione, McGraw-Hill Italia
Tutorial online
Slide delle lezioni
Esercizi ed esempi di temi d'esame.
Periodo di erogazione dell'insegnamento
Primo semestre
Modalità di verifica del profitto e valutazione
PROVA PRATICA:
si svolge in laboratorio e consiste nella manipolazione ed
interrogazione di una base di dati utilizzando SQL e l'interfaccia di Access e nella realizzazione di script in
matlab che operino semplici analisi su dati espressi con matrici o vettori. In particolare verrà richiesta l'applicazione di misure statistiche, la visualizzazione di dati e la gestione di dati input output. Il voto massimo della prova pratica è 30/30 e lode.
PROVA ORALE: a seguito del superamento della prova pratica (voto minimo 18/30) gli studenti che lo desiderano possono chiedere una verifica orale, che può portare ad una modifica del voto finale (non necessariamente in positivo).
Per alcuni casi dubbi il docente può chiedere comunque una prova orale di verifica sui contenuti dell'intero corso, con eventuale commento sugli esercizi della prova pratica.
Orario di ricevimento
Venerdì dalle 11.00 alle 12.00.
Aims
The course has two main objectives:
1) To introduce students to data base management systems with particular emphasis in the SQL language, which allows to define and inquiry relational databases. In particular, students will learn elementary concepts in order to model reality through a database. In particular, students will become familiar with relational databases. Through the laboratory activities they will put into practice the notions of theory and will learn to retrieve the information contained in a database, through appropriate instructions in SQL. The theoretical and practical notions will allow students to be able to manage the data that typically come from experimental activities related to their course of study.
2) To provide the basic programming knowledge needed to use Matlab and to study further programming languages. Students will begin to familiarize with programming, starting directly with the use of Matlab, applying it to data familiar to them. They will also be guided in writing codes for statistical data analysis.
The course is based on practical activities where theory acquired during the frontal lessons is applied and tested on experimental data.
At the end of the course students will be able to independently organize and query a relational database and write basic codes in matlab to analyze data.
Contents
Introduction to Data Base. The Entity Relationship (ER), the relational Data Model, the SQL language. Practical activities.
Fundamentals of programming using matlab for experimental data analysis and visualization.
Detailed program
1) Introduction to Data Base Management Systems
· The Entity Relationship Model: concepts of entity, relationship, attribute, generalization, identifier, integrity constraints.
· The Relational Data Model: concepts of relation, schema, attribute, domain, key, constraints.
· SQL, as Data Definition Language
· SQL, as Data Manipulation Language. Simple Select, the Join operator, aggregations, nested Select.
o Practical activities aimed at defining simple Database, and examples of queries.
2) Fundamentals of programming (Using Matlab)
· Algorithms
· Data types
· Variable and parameters
· Control-Flow Structures (if and switch), iterations (for, while).
· Functions, variable, input, output
· Import data
· Export data
o Practical activities using Matlab to process and analyze experimental data in particular applying statistical analysis and proper visualization functions.
Prerequisites
None
Teaching form
Lessons, 3 credits (24 hrs)
Classes, 2 credits (20 hrs)
Laboratory, 1 credit (10 hrs)
The course is taught in itlalian.
In the Covid-19 emergency period, lessons and classes will take place mainly via videoconference in remote synchronous mode, with any contributions recorded asynchronously.
The laboratory will instead take place in asynchronous remote mode with synchronous events to clarify any doubts.
Textbook and teaching resource
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone: Basi di Dati: Modelli e linguaggi di interrogazione, McGraw-Hill Italia
Tutorial online
Slides of the lecturers.
Exercises and examples of exams.
Semester
First semester
Assessment method
using SQL
and the Access interface. In the second part the student has to write some codes in matlab,
that operate simple analysis on data expressed with matrices or vectors. In
particular, the application of statistical measurements, data visualization and
management of input output data will be required.
Two
partial tests are scheduled, one at about half of the lessons, the
second one at the end of the course. The first test is about queries on a database and the second one requires to write matlab codes. Both parts has a fmaximum mark of 30/30 cum Laude. The single test is considered passed if it has received a score >15.
The final mark of the written exam is the average of the two parts (both of them >15). The exam is passed if this average is >=18.
Office hours
Friday from 11.00 to 12.00.