1. Evaluation
  2. Course Plan and Contents
  3. COVID-19 pandemic (PLEASE READ!)
  4. FAQ: group formation, lack of moodle access, choosing a topic, etc.
  5. Acknowledgement
  6. Questions answering schedule


Course Plan and Contents

Week Dates Theory Class Practical Class
1 21-25 Sept. Course Presentation: Introduction to the web and databases
UML Class Diagrams: Classes and Associations

Slides: Presentation | UML Class Diagrams

Alternatives: UML Class Diagrams by André Restivo | Alt. UML Slides 1 Alt.UML Slides 2 by Carla Lopes
No practical class
2 28 Sept-02 Oct. Relational Model: Relations, tuples, attributes and constraints. Conversion from the UML model.
Slides: Relational Model | Conversion from UML to Relational by Carla Lopes
3 5-9 Out. SQL: Table creation. Data types and constraints. SQLite.
Slides: SQL Definition
Relational Model
Exercises | Delivery Project Topics and Group Formation
4 12-16 Oct. SQL: Database queries. Selecting, filtering, set operations and joins.
Slides: SQL Query
Exercises on Schema Design using SQL | SQLite3 Guide | Solutions
5 19-23 Oct. SQL: Inserting, deleting and updating
Slides: SQL Manipulation
SQL Query writing exercises
6 26-30 Oct. HTML 5: Introduction, basic tags, tables, text formatting, common attributes and generic blocks. Forms, the semantic web, metadata and media tags.
Slides: HTML 5

Git: Introduction to source code version control.
Slides: Git
SQL Query writing exercises
Exercises | Solutions
7 3-9 Nov. CSS 3: Introduction, basic selectors, properties. Positioning, specificity, inheritance.CSS 3.
Slides: CSS 3

Docker: Basic Concepts. Starting up an Apache+PHP+SQLite container.
Slides: Docker
HTML Exercises
8 9-13 Nov. No classes (FEUP Week)  
9 16-20 Nov. PHP: Variables, strings, control structures, arrays and functions. Receiving values from HTTP parameters.
Slides: PHP
CSS Exercises | Solutions

Working locally using Docker | Live Coding (News website exercise)

Delivery UML and Relational Model for the Project
10 23-27 Nov. PHP: Classes and objects. Database connections.
Slides: PHP

Examples: HTML & CSS | Listing
PHP Exercises
11 30 Nov.-4 Dec. PHP: Code organization, forms, actions and register.

Examples: Organization & Register
Project Support

PHP FAQ and Common Mistakes
12 7-11 Dec. PHP: Error handling and file uploads

Examples: Login, Logout and Shopping Cart
Project Support | PHP Exercises
13 14-18 Dec. PHP Examples
Messages, Search and Pagination | Orders
Project Support | PHP Exercises
  28 Dec.   Delivery
  30 Dec.   Presentation

COVID-19 pandemic (PLEASE READ!)

Covid19 Guidelines

FAQ: group formation, lack of moodle access, choosing a topic, etc.

FAQ - Topic Choice and Group Formation Issues


Prof. André Restivo is the original author of many of the materials made available at this website.

Questions answering schedule

Institutional e-mail: jrsilva@fe.up.pt

If you have any questions or doubts, you can find me on Fridays from 5pm to 6pm via Zoom, using a Room URL + Room Password that you can find on Moodle, after authenticating and accessing the page of the course unit.

  • If you have questions regarding an exercise or project-related issue, please contact the professor of your practical class, as they will have most knowledge regarding your work.
  • Student/Worker students are encouraged to show up at this schedule and present the progress of their work and the practice exercises that they should do at home.