View syllabus
DATABASE PROGRAMMING
GIOVANNA ROSONE
Academic year2020/21
CourseCOMPUTER SCIENCE
Code254AA
Credits6
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
LABORATORIO DI BASI DI DATIINF/01LABORATORI48
GIOVANNA ROSONE unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Lo studente che completa il corso avrà la capacità di raccogliere i requisiti per un'applicazione basata su una base di dati. Avrà anche la capacità di progettare un database e un'applicazione basata su tale database e di implementarla come applicazione di internet, utilizzando la tecnologia commerciale.

Knowledge

The student who successfully completes the course will have the ability to collect requirements for a database application. He will also have the ability to design a database and an application based on such database, and to implement it as an internet application, using commercial technology.

Modalità di verifica delle conoscenze

Lo studente sarà valutato sulla base della qualità degli artefatti che presenterà. I documenti di progettazione saranno giudicati sulla base della chiarezza, della completezza e dell'osservanza dei requisiti. Il codice sarà valutato sulla base dell'osservanza dei requisiti e degli standard del progetto, della robustezza e sulla base della qualità dell'interfaccia utente.

Metodi:

  • Per l'accertamento delle conoscenze saranno svolti degli incontri tra il docente e il gruppo di studenti che sviluppa il progetto o parte di esso.
  • La verifica delle conoscenze sarà oggetto della valutazione durante la dimostrazione pratica finale di laboratorio.
Assessment criteria of knowledge

The student will be assessed on the basis of the quality of the artifacts that will be presented. The design documents will be judged on the basis of clarity, completeness, and adherence to the requirements. The code will be assessed on the basis of adherence to the requirements and to the project standards, robustness, and on the basis of the quality of its user interface.

Methods:

  • For the assessment of the knowledge, meetings will be held between the teacher and the group of students who develop the project or part of it.
  • Knowledge verification will be the subject of evaluation during the final laboratory practical demonstration.
Capacità

Identificare una serie di requisiti al fine di progettare e implementare una piccola applicazione basata su una base di dati.

Lo studente sarà in grado di presentare in una relazione scritta i risultati dell'attività progettuale svolta e di implementarla usando il PLSQL.

Skills

Identifying a set of requirements in order to design and implement a small application based on a database.

The student will be able to present in a written report the results of the design activity and implement it using PLSQL.

Modalità di verifica delle capacità

Lo studente dovrà preparare e presentare una relazione scritta che riporti i risultati dell'attività di progetto.

Assessment criteria of skills

The student will have to prepare and present a written report showing the results of the project activity.

Comportamenti

Lo studente potrà acquisire e/o sviluppare sensibilità alle problematiche relative alle attività di raccolta e analisi di requisiti di una base di dati; quindi dovrà progettare e implementare un'applicazione funzionante che rispetta i requisiti iniziali. Inoltre, lo studente acquisirà anche la capacità di lavorare in gruppo.

Behaviors

The student can acquire and/or develop sensitivity to the issues related to data collection and requirements analysis of a database; then he/she have to design and implement a working application that meets the initial requirements. Moreover, the student will also acquire the ability to do group work.

Modalità di verifica dei comportamenti

Saranno valutati il grado di accuratezza e precisione delle attività svolte.
Saranno verificate le modalità di definizione delle responsabilità di gestione e organizzazione delle fasi progettuali all'interno di ciascun gruppo.

Assessment criteria of behaviors

The degree of accuracy and precision of the activities will be assessed.
Methods for defining the responsibilities, management and organization of the design phases within each group will be verified.

Prerequisiti (conoscenze iniziali)

La capacità di eseguire la progettazione concettuale di un database e di tradurla in uno schema relazionale.

La capacità di scrivere query SQL complesse.

Prerequisites

The ability to execute the conceptual design of a database and to translate that into a relational schema.

The ability to write complex SQL queries.

Indicazioni metodologiche

Attività di apprendimento:

  • Frequentando lezioni
  • Partecipazione alle discussioni
  • lavoro di gruppo
  • Lavoro di laboratorio
  • Pratica

Frequenza: raccomandata

Metodi di insegnamento:

  • Lezioni (con l'uso di slide)
  • Uso del sistema di elearning del corso (per lo scaricamento di materiale didattico, per le comunicazioni docente-studenti e per la formazione di gruppi di lavoro).
  • Interazione tra studente e docente attraverso ricevimento studenti, posta elettronica e forum.
  • Apprendimento basato sulla pratica/investigazione
  • Laboratorio
  • Lavoro di progetto
Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • participation in discussions
  • group work
  • Laboratory work
  • Practical

Attendance: recommended

Teaching methods:

  • Lectures (with slides)
  • Use of the elearning system of the course (for downloading teaching material, for teaching-student communications and for training of working groups)
  • Teaching-student Interaction through student office hours, email and forums.
  • Task-based learning/inquiry-based learning
  • Laboratory
  • Project work
Programma (contenuti dell'insegnamento)

Raccolta e analisi dei requisiti per l'applicazione basata su una base di dati reale.

Progettazione concettuale e logica.

Progettazione e implementazione dell'applicazione basate su tale database.

Architettura di applicazioni di database Internet.

Programmazione del database, con riferimento specifico al linguaggio PL / SQL.

 

In questo corso si approfondiscono le nozioni relative ad analisi e progettazione di dati, procedure ed interfacce di applicazioni per basi di dati, ed alla loro realizzazione, introdotte nel corso di Basi di Dati. Tutte le nozioni introdotte vengono immediatamente sperimentate dagli studenti, utilizzando notazioni standard ed un sistema commerciale, quale ad esempio ORACLE DBMS ed ORACLE WebServer, sviluppando un case study che si conclude, alla fine del corso, con la realizzazione da parte degli studenti di un sistema funzionante.

Il corso inizia con la presentazione agli studenti di un problema applicativo, attraverso interviste. Fin dalle prime lezione, gli studenti, divisi in piccoli gruppi, preparano una specifica dei requisiti. Le diverse specifiche vengono valutate, ed una viene scelta come la specifica ufficiale. Agli studenti viene presentato il sistema ORACLE, il linguaggio PL/SQL, ed un'API per la costruzione di interfacce, basata su HTML. Le funzionalità definite nella specifica dei requisiti vengono distribuite tra gli studenti, divisi nuovamente in piccoli gruppi, per essere realizzate con gli strumenti visti durante il corso. Gli studenti preparano anche uno schema SQL comune sul quale si innesteranno tutti i pezzi di codice da loro prodotti. Il giorno dell'esame tutti i pezzi di codice prodotti vengono integrati in un unico sistema, e valutati separatamente per la valutazione finale degli studenti.

Syllabus

Requirements collection and analysis for real database application.

Conceptual and logical design.

Design and implementation of the database application.

Architecture of internet database applications.

Database programming, with specific reference to the PL/SQL language.

This course focuses on the concepts of data analysis and design, databases and interfaces for databases and their implementation, introduced in Database course. All the notions introduced are immediately tested by students using notations Standards and a commercial system, such as ORACLE DBMS and ORACLE WebServer, developing a case study that ends at the end of the course with the realization by students of a working system.

The course begins with the presentation to students of an application problem through interviews. From the first lessons, students, divided into small groups, prepare a specification of the requirements. The different specifications are evaluated, and one is chosen as the official specification. Students are presented with the ORACLE system, PL/SQL language, and a HTML-based interface building API. The features defined in the requirements specification are distributed among the students, divided again into small groups, to be realized with the tools seen during the course. Students also prepare a common SQL schema on which all the pieces of code from their products. On the day of exam, all pieces of product code are integrated into a single system, and evaluated separately for the final evaluation of the students.

Bibliografia e materiale didattico

A. Albano, G. Ghelli e R. Orsini, Fondamenti di basi di dati, Zanichelli, Bologna, 2005.

P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di interrogazione, McGraw-Hill Italia

PL/SQL reference manual.

Lucidi del corso.

Esercizi svolti.

 

Bibliography

A. Albano, G. Ghelli e R. Orsini, Fondamenti di basi di dati, Zanichelli, Bologna, 2005.

P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Basi di dati: modelli e linguaggi di interrogazione, McGraw-Hill Italia

PL/SQL reference manual.

Lucidi del corso.

Esercizi svolti.

Indicazioni per non frequentanti

Per poter sostenere l’esame di Laboratorio di Basi di Dati è necessario contattare il docente al fine di ottenere il progetto da realizzare.

Il progetto prevede la progettazione di una base di dati, l'implementazione in PL-SQL della relativa applicazione web e la popolazione della base di dati con dei dati utili ad effettuare i test.

Oltre al codice in PL-SQL dovrà essere consegnata la relativa documentazione analoga a quella presentata durante il corso.

Non-attending students info

Contact the teacher to obtain the project to be carried out.

The project involves the design of a database, the implementation in PL-SQL of the related web application and the population of the database with the data useful for carrying out the tests.

In addition to the PL-SQL code, the student will have to deliver the relevant documentation similar to that presented during the course.

Modalità d'esame

Valutazione dei progetti realizzati in gruppo durante il corso.

In particolare:

  • Durante l'esame orale lo studente deve essere in grado di dimostrare la propria conoscenza del materiale del corso e di saper discutere i contenuti del corso usando la terminologia appropriata.
  • Lo studente deve inoltre dimostrare la capacità di implementare un progetto su un argomento proposto dall'insegnante all'inizio del corso.

 

  Metodi:

  • Esame orale finale
  • Relazione sul progetto

Ulteriori informazioni:
Lo studente sarà valutato sulla base di alcuni manufatti - documenti di progettazione e codice di esecuzione - che saranno preparati durante il semestre in stretta collaborazione con altri studenti di un piccolo gruppo e con una forma di collaborazione più debole con tutti gli altri gruppi frequentanti lo stesso corso. Tutti questi manufatti dovranno essere pronti prima del giorno fissato per l'esame.

 

-----------------------

Se persisterà l'emergenza COVID e se risulterà impossibiie fare esami in presenza, le modalità di esame cambieranno nel modo seguente.

Pertanto, le regole seguenti valgono finché gli esami possono essere solo per via telematica, con alcune condizioni necessarie da rispettare.

Regole per gli esami: 

  1. La data degli appelli si riferisce alla scadenza ultima di consegna del progetto.
  2. Possono partecipare agli esami di un appello solo gli studenti che si sono iscritti a quell’appello utilizzando l’apposito portale dell’Università di Pisa, e che hanno consegnato entro la data dell’appello un progetto ritenuto valido. Chi non si è iscritto oppure non ha consegnato in tempo un progetto valido, non può effettuare l’esame. Attenzione alla data di scadenza.
  3. Lo svolgimento di ciascun esame, pubblico per legge, deve rispettare tutte le condizioni più recenti stabilite dall’ateneo, che trovate alla pagina web https://www.unipi.it/images/pdf/publ/guidaesamistud.pdf

Si ricorda che i candidati devono essere identificati visivamente dalla commissione.

Si ricorda che durante lo svolgimento della discussione di un candidato devono essere attivi il suo microfono e la sua telecamera.

È vietato effettuare l’audio/video registrazione dell’esame.

  • Lo studente deve connettersi utilizzando un PC / notebook poiché potrebbe essere necessario scrivere qualcosa dalla tastiera. Allo studente potrà essere richiesto di scrivere qualcosa su un pezzo di carta. In tal caso, lo studente, dopo aver scritto su ciascun foglio nome, cognome e numero di matricola, dopo aver vedere il foglio al docente attraverso la webcam, deve caricare su Moodle o inviare per e-mail (dall’indirizzo istituzionale studente@studenti.unipi.it all’indirizzo istituzionale docente@unipi.it), una foto/scansione dell’elaborato, entro il termine prefissato dalla Commissione. Si prega di essere attrezzati per questo.

Se una qualsiasi di queste indicazioni crea problemi pratici di alcun genere, lo studente è pregato di contattare il docente, in modo che sia possibile modificare le indicazioni per adattarle alle sue esigenze.

 

Assessment methods

Evaluation of projects carried out in groups during the course.   In particular:

  • During the oral exam the student must be able to demonstrate his/her knowledge of the course material and be able to discuss the course contents using the appropriate terminology.
  • The student must also demonstrate the ability by implementing a project on a subject proposed by the teacher at the beginning of the course.

 

  Methods:

  • Final oral exam
  • Project report

Further information:
The student will be evaluated on the basis of some artifacts - design documents and running code - which she/he will prepare during the semester in strict collaboration with other students of a small group, and with some weaker form of collaboration with all the other groups attending the same course. All such artifacts will have to be ready before the day that is fixed for the exam.

Updated: 02/02/2021 09:24