Scheda programma d'esame
DATA BASES AND WEB LABORATORY
ANDREA MARCHETTI
Academic year2017/18
CourseDIGITAL HUMANITIES
Code435AA
Credits12
PeriodSemester 1 & 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
BASI DI DATIINF/01LEZIONI42
PATRIZIO DAZZI unimap
LABORATORIO WEBINF/01LEZIONI42
ANDREA MARCHETTI unimap
Obiettivi di apprendimento
Learning outcomes
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).

Knowledge

Students are expected to acquire: - the ability to represent, organize, and retrieve data with the relational data base model and the SQL query language; - competence in database design with the entity relationship model The associated web laboratory introduces server-side programming in PHP and provide students with the necessary skills to implement a web application requiring the use of a database and the generation of dynamic web pages.

 

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.

Assessment criteria of knowledge

- In the written exam, the student must demonstrate his/her knowledge of the course topics 

- In the oral exam the student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course.

Methods:

  • Final oral exam
  • Final laboratory practical demonstration
  • Periodic written tests

Further information:
For the first module (data bases) there are two intermediate written tests. The exam consists in a written test and an oral exam. The second module requires the implementation and oral discussion of a project.

 

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
Skills

Students will be able to:

  • design a database
  • Use SQL language to create, popolate, update and qury a database
  • manipulate a by tools such as OpenRefine
  • write programs in PHP
  • use javascript libraries like JQuery, GoogleMaps and  Highcharts
  • design web applications
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.
Assessment criteria of skills
  • Students will answer SQL queries and design a database
  • Students will produce a project on the web application implementation with a report describing the project activity. Alternatvely, students may do some practical exercises on the course topics.

 

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.

Behaviors

Students will lean how to work in a team and how to design and develop a web application based on data elaboration. Moreover, they will learn how to collect and analyse open data and create interesting data visualizations. 

 

 

 

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.

Assessment criteria of behaviors

During the exam will be evaluated the choises of design and the ability in the data elaboration. Moreover, it will be evaluated the accuracy and precision of the activities of collection and analysis of open data.

Prerequisiti (conoscenze iniziali)

Modulo di Laboratorio Web

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

Prerequisites

Module 2

HTML, CSS, Javascript and 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.
Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • individual study
  • group work
  • Laboratory work

Attendance: Advised

Teaching methods:

  • Lectures
  • Laboratory
Programma (contenuti dell'insegnamento)

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
Syllabus

MODULE 1: Data bases Relational data bases: models and languages - The relationa model - Algebra and relational calculus - SQL Data base design - Methods and models for design - Conceptual design - Logical design Laboratory: Use of MySQL

MODULE 2: Web laboratory - Client-server architecture; dynamic web pages - HTML and CSS review; web forms - The PHP language = Javascript libraries - Project

 

Bibliografia e materiale didattico

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
Bibliography
  • P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di interrogazione (Seconda o Terza Edizione) McGraw-Hill Italia, 2000-2006.
  • Antonio Albano: Sistemi per l'archiviazione e il recupero delle informazioni (booklet)
  • Roberto Puccetti: Gestione delle Basi di Dati (a practical compendium) Course material is available from the course web site: http://didawiki.cli.di.unipi.it/doku.php/bdd-infuma/start
  • Slides provided on the website
  • 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

 

Indicazioni per 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.

Non-attending students info

Module 1

Exercises and slides are uploaded on the website of the course

Module 2

Students who will not attend the course may do the oral exam instead of the project. The oral exam consists in the creation of a simple web application. To this end the student should come with his/her laptop with  XAMPP already installed.

Modalità d'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.

Assessment methods

- Written exam on database concepts and notions. Students who want to improve the written exam may be the oral exam.

- Project discussion. Each projectwill be evaluated by considering the following criteria:

  1. innovation
  2. coding quality (PHP+JS)
  3. report quality
  4. web site accessability
  5. data quality and data quantity

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

Updated: 21/09/2017 12:23