- Science
- Bachelor Degree
- Scienze e Tecnologie per l'Ambiente [E3202Q - E3201Q]
- Courses
- A.A. 2022-2023
- 3rd year
- Informatics
- Summary
Course Syllabus
Obiettivi
Il corso è strutturato in due parti pricipali:
- 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 alla visualizzazione, elaborazione, e analisi di dati di carattere geo-ambientale. Verranno anche guidati nella scrittura di codici per l'analisi statistica dei dati. Le nozioni acquisite durante le ore di lezione frontale vengono applicate con applicazioni su dati geo-ambientali di diversa natura. Il corso ha un carattere fortemente laboratoriale.
- 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.*
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 di carattere geo-ambientale.
Contenuti sintetici
- Basi di programmazione: programmazione in matlab finalizzata ad analisi, visualizzazione e trattamento di dati geo-ambientali
- Introduzione alle basi di dati: modello Entità Relazione, modello relazionale, linguaggio SQL
- Esercitazioni pratiche in laboratorio.
Programma esteso
1) Fondamenti di programmazione (utilizzando Matlab):
- Algoritmi di programmazione: cosa sono e cosa servono nelle Scienze Ambientali
- Script, funzioni, variabili di input e di output
- Tipi di dati
- Importazione dei dati
- Salvataggio dei dati
- Definizione di variabili e parametri
- Debugging
- Costrutti di controllo (if e switch) e cicli (for,while)
- Vettorializzazione del codice
- Visualizzazione di dati geo-ambientali (tabelle, serie temporali, vettoriali, raster)
- Tecniche di analisi statistica
- Tecniche di calcolo numerico (smoothing, fitting ecc.) e calcolo parallelo
- Uso di librerie esterne
- Interoperabilità con ambienti G.I.S (geographic information system)
- Sistemi di versionamento
Esercitazioni e laboratorio utilizzando Matlab. Applicazione dei concetti teorici all’analisi di dati
sperimentali, con particolare attenzione all’analisi statistica e visualizzazione dei dati.
2) 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.
Prerequisiti
Nessuno
Modalità didattica
- Lezione frontale, 1 cfu (8 ore)
- Esercitazione, 2 cfu (20 ore)
- Laboratorio, 3 cfu (30 ore)
Il corso è erogato in italiano.
Materiale didattico
- Dorothy C. Attaway (2012) Matlab : A Practical Introduction to Programming and Problem Solving. Amsterdam: Butterworth-Heinemann. Disponibile: https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=380478&site=ehost-live&scope=site&ebv=EB&ppid=pp_Cover (Accesso: 5 June 2022).
- Slide delle lezioni
Periodo di erogazione dell'insegnamento
Secondo semestre
Modalità di verifica del profitto e valutazione
Tipo esame:
• Scritto ed eventuale verifica orale
Tipo valutazione:
• Voto finale in trentesimi
PROVA PRATICA: si svolge in laboratorio e consiste nell’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).
Orario di ricevimento
per appuntamento via mail a sergio.cogliati@unimib.it e mattia.deamicis@unimib.it
Aims
The course has two main objectives:
- 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 programming techniques to read, explore, visualize and analyze geo-environmental data. They will also be guided in writing codes for statistical data analysis and numerical calculations.
- 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.
The course is based on practical activities where theory acquired during the frontal lessons is applied and tested on geo-environmental 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
- Fundamentals of programming using matlab for experimental data analysis and visualization.
- Introduction to Data Base. The Entity Relationship (ER), the relational Data Model, the SQL language
- Laboratory practical activities
Detailed program
1) Fundamentals of programming (Using Matlab)
- Algorithms for the Environmental Sciences
- Scripts, functions, variable, input, output
- Data types
- Import data
- Export data
- Initializing variable and parameters
- Debugging
- Control-Flow Structures (if and switch), iterations (for, while).
- Code vectorization
- Displaying geo-environmental data (tables, time series, vectorial, rasters)
- Statistical analysis techniques
- Numerical methods (smoothing, fitting etc.) and parallel calculation
- External libraries
- Interoperability with G.I.S (geographic information system)
- Versioning system
Practical activities using Matlab to process and analyze geo-environmental data in particular applying statistical analysis and displaying functions.
2) 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.
Practical activities aimed at defining simple Database, and examples of queries.
Prerequisites
None
Teaching form
- Lessons, 1 credits (8 hrs)
- Classes, 2 credits (20 hrs)
- Laboratory, 3 credit (30 hrs)
The course is in itlalian
Textbook and teaching resource
- Dorothy C. Attaway (2012) Matlab : A Practical Introduction to Programming and Problem Solving. Amsterdam: Butterworth-Heinemann. Available at: https://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=380478&site=ehost-live&scope=site&ebv=EB&ppid=pp_Cover (Accessed: 5 June 2022).
- Slides of the lecturers
Semester
Second semester
Assessment method
Examination:
• Written and eventual oral exam
Evaluation Type:
• Final mark out of thirty
The exam consists of two practical activities: in the first part the student has to solve some queries on a database, 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.
It is also possible an oral verification of the expertise acquired.
Maximum mark is 30/30 cum Laude.
Office hours
appointment by email to sergio.cogliati@unimib.it and mattia.deamicis@unimib.it