BASI DI DATI E LABORATORIO WEB

Settore: INF/01Codice: 435AACrediti: 12Semestre: 1-2
Docenti: Marchetti Andrea, Dazzi Patrizio

Obiettivi di apprendimento

Conoscenze

Il corso è suddiviso in due moduli: Basi di dati e Laboratorio Web

Modulo di Basi di Dati

Il corso mira a formare le conoscenze e le competenze di base per la rappresentazione, l’organizzazione, l’interrogazione ed il recupero dell’informazione mediante la tecnologia delle basi di dati. Si fa riferimento al modello relazionale dei dati, adottato nei sistemi commerciali per basi di dati più diffusi, per illustrare le idee di base della rappresentazione tabellare delle informazioni. Si illustrano i meccanismi dell’algebra relazionale, rivolti al recupero delle informazioni, ed il linguaggio di interrogazione SQL, basato su tali meccanismi – lo standard adottato in tutti i sistemi commerciali. Si studiano infine i meccanismi a più alto livello per la rappresentazione delle informazioni, le nozioni di entità (o oggetto) e di relazione (o associazione), il loro uso nella progettazione concettuale delle basi di dati e la loro traduzione nelle basi di dati relazionali. 

Modulo di Laboratorio Web

Il corso mira a formare le conoscenze e le competenze di base per la progettazione e l'implementazione di applicazioni Web a tre livelli: data layer, logic layer e presentation layer. Per quanto riguarda il  data layer lo studente sarà guidato nell’uso di database relazionali (MySQL) e nell’uso di strumenti quali Open Refine per la pulizia dei dati.  Riguardo al logic layer, il corso darà le conoscenze per la programmazione attraverso il linguaggio PHP. Infine, a livello di presentation layer, il corso mira ad approfondire alcune librerie javascript (jQuery, GoogleMaps API, HighCharts ecc).

Modalità di verifica delle conoscenze

Modulo  di Basi di Dati

Per la verifica delle conoscenze acquisite nel corso gli studenti dovranno sostenere una prova scritta che coprirà tutti gli argomenti trattati a lezione ed un orale. Qualora lo studente abbia superato con successo le prove in itinere (compitini), potrà passare direttamente alla prova orale. 

Modulo di Laboratorio Web

Per l’accertamento delle conoscenze sarà chiesto agli studenti di organizzarsi in gruppi di tre unità per collaborare alla realizzazione di un’applicazione web, per accertare l’acquisizione degli obiettivi stabiliti. Inoltre, la verifica delle conoscenze sarà effettuata durante le esercitazioni di laboratorio e/o incontri tra il docente e i gruppi di studenti durante l’orario di ricevimento.

Capacità

Modulo  di Basi di Dati

Al termine del corso lo studente sarà in grado di:

  • progettare una base di dati
  • Usare il linguaggio SQL per creare e popolare una base di dati
  • Usare il linguaggio SQL per interrogare una base di dati

Modulo di Laboratorio Web

Al termine del corso lo studente sarà in grado di:

  • manipolare dataset attraverso strumenti avanzati come OpenRefine
  • importare dataset su MySQL
  • programmare in PHP
  • utilizzare alcune importanti librerie javascript come JQuery, GoogleMaps e Highcharts
  • progettare applicazioni web
Modalità di verifica delle capacità
  • Lo studente dovrà formulare delle query SQL per progettare e interrogare una base di dati. Lo studente dovrà inoltre rispondere a delle domande a carattere concettuale.
  • Lo studente dovrà implementare e presentare un progetto che implementa un’applicazione Web. A corredo del progetto, lo studente dovrà preparare anche una relazione scritta che riporti i risultati dell’attività di progetto. In alternativa, allo studente sarà chiesto di svolgere alcuni esercizi pratici sulle tematiche oggetto del corso.
Comportamenti

Modulo di Basi di Dati

Lo studente potrà acquisire la capacità di modellare, organizzare e interrogare informazioni strutturate in Basi di Dati. Ovvero, sarà in grado di adoperare e applicare le metodologie e le strategie necessarie alla progettazione di una base di dati, definendone tabelle, campi e relazioni. Sarà inoltre in grado di interrogare le Basi di Dati esistenti al fine di estrarre l'informazione cercata. 

Modulo di Laboratorio Web

Lo studente potrà maturare abilità nel lavoro di gruppo. Inoltre potrà acquisire e/o sviluppare opportune sensibilità nelle scelte progettuali di applicazioni web incentrate maggiormente sull’elaborazione di dati. Ed infine potrà acquisire competenze nelle attività di raccolta e analisi di dataset open e nel creare visualizzazioni interessanti di dati.

Modalità di verifica dei comportamenti

Modulo di Basi di Dati

In fase di esame si valuterà la capacita dello studente di applicare correttamente le metodologie apprese a lezione, sarà valutata positivamente la precisione nella formulazione delle query.

Modulo di Laboratorio Web

In fase di esame saranno valutate le scelte progettuali effettuate dal gruppo di studenti e la capacità di elaborazione dei dati. Inoltre, saranno valutate l’accuratezza e la precisione applicata dal gruppo nello svolgere le attività di raccolta e analisi dei dataset open utilizzati. Infine, verranno accertate le modalità di definizione delle responsabilità, di gestione e organizzazione delle fasi progettuali all’interno del gruppo.

Prerequisiti

Modulo di Laboratorio Web

Sono richieste ottime conoscenze sulle seguenti tecnologie: HTML, CSS, Javascript e SQL

Indicazioni metodologiche

Modulo  di Basi di Dati

  • Il corso si basa su lezioni frontali sulla teoria e esercitazioni
  • Tutto il materiale didattico verrà caricato sulla pagina del corso presente sul portale Didawiki.
  • Lo studente potrà confrontarsi con il docente nelle ore di ricevimento, durante le esercitazioni e, brevemente, al termine della lezione. 

Modulo di Laboratorio Web

  • Il corso si basa su lezioni frontali, con ausilio di slide, ed esercitazioni in laboratorio, con PC personali degli studenti, su cui dovrà essere installato il pacchetto XAMPP. A riguardo si consiglia di installare il pacchetto fin da subito (https://www.apachefriends.org/download.html).
  • Durante il corso, verranno utilizzati diversi siti web di programmazione php e javascript online.
  • Tutto il materiale didattico verrà caricato sulla pagina del corso presente sul portale Didawiki.
  • Lo studente potrà comunicare con il docente nelle ore di ricevimento, che durante il corso si svolgeranno dopo una delle lezioni settimanali, mentre dopo il corso si svolgeranno presso l’Area di Ricerca del CNR, previo appuntamento. Sarà inoltre possibile inviare delle email all’indirizzo lpw-infouma@googlegroups.com.

Programma

Modulo  di Basi di Dati

Parte Prima: Basi di dati relazionali: modello e linguaggi

  • Il modello relazionale 
  • Algebra Relazionale
  • SQL: Concetti base 
  • SQL: caratteristiche evolute 

Parte Seconda:Progettazione di basi di dati

  • 7. Metodologie e modelli per il progetto 
  • 8. La progettazione concettuale 
  • 9. La progettazione logica 

Modulo di Laboratorio Web

  • Introduzione al corso
  • Configurazione XAMPP
  • Modello Applicazioni Web
  • Linguaggio PHP: introduzione, array, funzioni
  • PHP e MySQL
  • Phpmyadmin
  • Librerie javascript: JQuery, GoogleMaps API, Highcharts
  • OpenRefine
  • Introduzione al PHP

Bibliografia

Modulo  Basi di Dati

  • P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di interrogazione  McGraw-Hill Italia.
  • Slide fornite dal docente
  • Soluzione di alcune esercitazioni

Modulo di Laboratorio Web

  • Slide fornite dal docente
  • Robin Nixon. Learning PHP, MySQL, JavaScript, CSS & HTML5, 3rd Edition - O’Reilly Media 2014.
  • Ryan Benedetti, Ronan Cranley. Head First jQuery - O’Reilly Media 2011

Non frequentanti

Modulo  di Basi di Dati

Le esercitazioni svolte in aula e le slides possono essere scaricati dal sito web del corso.

Modulo di Laboratorio Web

Gli studenti non frequentanti possono scegliere di sostenere una prova orale al posto della discussione del progetto. L'esame orale consiste nella creazione di una semplice applicazione Web. Per svolgere l'esame orale occorre venire con il proprio portatile con sopra installato XAMPP. Gli esercizi relativi alle precedenti prove orali possono essere scaricati dal sito web del corso.

Modalità di esame

Modulo  di Basi di Dati

L'esame consiste in una prova scritta sugli argomenti trattati a lezione, non necessaria qualora lo studente dovesse superare con successo le prove in itinere. Successivamente, lo studente dovrà sostenere una prova orale.

 

Modulo di Laboratorio Web

L'esame consiste nella discussione di un progetto concordato con il docente. Il progetto dovrà essere sviluppato in gruppi di tre unità. Ogni progetto verrà valutato secondo i seguenti criteri:

  1. grado di innovazione del progetto
  2. qualità del codice (PHP+JS)
  3. qualità della relazione
  4. accessibilità estetica del sito
  5. qualità e quantità dei dati

Ogni criterio sarà valutato in trentesimi. Il voto finale sarà ottenuto facendo la media tra i cinque criteri.

Modulo di Laboratorio Web

Altri riferimenti web

Modulo di Laboratorio Web

Fonte: ESSETRE e Portale esami