User Tools

Site Tools


Course Fact sheet

Master in Informatics and Computing Engineering
Database and Web Applications Laboratory
Instance: 2020/2021

Institutional page

General information

Course Unit: Database and Web Applications Laboratory
Code: EIC0085
Programmes: MIEIC, 3º
Academic Year: 2020/2021
Semester: 2S
Credits: 7 ECTS
Hours/Weeks: 1x2T, 7x3P
Teachers: João Correia Lopes | Sérgio Nunes

Teaching language

Portuguese. Suitable for English-speaking students.



This unit revisits the learning outcome of the previous courses in databases and web languages ​and technologies, providing a practical perspective on these core areas​ of computer engineering.


In this course, the students will learn how to design and develop web-based information systems backed by database management systems.

Learning outcomes and competences

After completing this course, the student will be able to:

  1. Specify the requirements of the information system;
  2. Obtain the conceptual model of the information system's data;
  3. Obtain and validate the logical relational database schema of the system's database;
  4. Obtain the physical schema of the database and tune the logical relational schema;
  5. Design and implement queries to access the database using SQL;
  6. Design and implement mechanisms for maintaining the integrity of the data;
  7. Specify the web interfaces and business logic of the information system;
  8. Implement the web components of the system using web-based, server-based and client-based technologies;
  9. Ensure that the web interfaces adopt accessibility and usability standards.

Working method

In person

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Databases: data modeling with UML, relational model, SQL language.
Web languages ​​and technologies: HTTP protocol, HTML, CSS and JavaScript languages.


  • Development of a web application supported by a database: requirements gathering, design, modelling, implementation and documentation;
  • General notions about the architecture of web applications using client scripting languages and server languages;
  • Use of frameworks and API for data access;
  • Design of relational databases using data modelling languages (UML), the SQL language and procedural extensions to SQL;
  • Identification and maintenance of business rules: on the interface, on the business logic and in the database (triggers); define transactions;
  • General notions of web usability and accessibility.

Mandatory literature

  • R. Ramakrishnan, J. Gehrke, Database Management Systems, McGRAW-Hill International Editions, 3rd Edition, 2003, ISBN=0-07-246563-8. Library

Complementary bibliography

  • Jeffrey D. Ullman, Jennifer Widom, A First Course in Database Systems, Prentice-Hall, 3rd Edition, 2008, ISBN=978-0-13-600-637-4. Library
  • Scott Ambler, The Object Primer, Cambridge University Press, 3rd Edition, 2004, ISBN: 978-0-521-54018-6 Library
  • Zalewski, Michal, The tangled Web: a guide to securing modern Web applications, No Starch Press, Inc. ed, 2011, ISBN=978-1-59327-388-0. Library
  • Jakob Nielsen, Designing Web Usability: The Practice of Simplicity, New Riders Publishing, Indianapolis, 2000, ISBN=1-56205-810-X. Library

Teaching methods and learning activities

The lectures will be used for the presentation of work scripts, development of representative examples, analysis of assessments, and brief introductions to the technologies they use. The practical classes will be used for laboratory project development as a group project with the teacher as a consultant.

Support software

  • PostgreSQL
  • PHP
  • Docker
  • Git


Physical sciences > Computer science > Informatics

Type of assessment

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Test 20
Practical or project work 80
Total: 100

Amount of time allocated to each course unit

Designation Time (hours)
Autonomous study 122
Class frequency 70
Total: 192

Eligibility for exams

The practical work will be assessed during the laboratory classes, through the delivery of the components (groups of artefacts).

The theoretical concepts are evaluated using an individual questionnaire with multiple choice questions.

The approval on the course is conditional on the student obtaining 40% in the individual response questionnaire and 50% in each of the components of the practical assessment.

A student that does not participate in an evaluation component may have an assessment of that component different from the group to which she belongs.

Given the laboratory nature of the course, it is not possible to make an overall evaluation based on a single moment and therefore the practical work can not be replaced by a single exam.

Calculation formula of final grade

Classification = 20% NI + 80% NP

Being NP = 20% ER + 20% EBD + 20% EAP + 40% PA

NI - Individual multiple choice questionnaire
NP - Practical work
ER - Requirements Specification
EBD - Database Specification
EAP - Architecture Specification and Vertical Prototype
PA - Product and Presentation

The final classification of the practical component (NP) can vary from element to element in the same group, plus or minus 23 values​​, based on the opinion of the teachers and the self-assessment performed by each group.

Students who do not get approved in the final classification have to repeat the two evaluation components (NI and NP) in a new enrolment to the unit.


There are no special works or tests.

Special assessment (TE, DA, ...)

The project evaluation, conducted in a group, is the same for all students regardless of the enrolment regime.

Students exempted from classes must agree to conduct regular meetings with the teachers to keep up with the practical work. Regarding the final presentation and the individual assessments, the rules are the same as for the regular students.

Classification improvement

Students may improve the mark in the course's next edition.

João Correia Lopes, Sérgio Nunes

teach/lbaw/202021/sheet.txt · Last modified: 28/08/2021 11:22 by Correia Lopes

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki