Guía Docente 2020-21


Id.: 31387
Subject type: OPTATIVA
Year: 4 Teaching period: Primer Cuatrimestre
Credits: 6 Total hours: 150
Classroom activities: 64 Individual study: 86
Main teaching language: Inglés Secondary teaching language: Castellano
Lecturer: Email:


In the past, the web was created by web developers. Nowadays, web development has evolved together with the technologies and frameworks available for that duty. This leads to a new classification scheme for web developers, ranging from front-end developers, back-end developers or even full-stack developers. 

The main objective of this subject is to form you as a back-end developer. During the course you will get advanced knowledge of programming on the Internet: architecture, communications, technologies, and tools to apply for a secure and robust web application. 

The main technologies used during the course will be PHP, MySQL, Apache Web Server, HTML5, CSS3 and Javascript. Foundations will be laid out and then used to build three web applications (the main assignments) with increasing difficulty. 

The workload of the course can be classified as:

Coding: 9/ 10

Theory: 5/ 10

Arts: 2/ 10



General programme competences G10 Ability to master information and communication technologies and their application in their professional field.
Specific programme competences E05 Ability to program applications both correctly, and efficiently, choosing the most appropriate paradigm and programming languages, applying knowledge of basic algorithmic procedures and using the types and structures of the most appropriate data.
Learning outcomes R01 Develop solutions to problems using the Object-Oriented Programming (OOP) in the Internet environment.
R02 Know about the components of a web application.
R03 Understand and apply features that provide robust, high availability and security in a web application.
R04 Know how transactions are used in web applications.
R05 Learn about the architecture of the business to consumer (B2C) and business-to-business (B2B)
R06 Understand the n-tier architectures and application servers


It is recommended to have basic knowledge of HTML, CSS, Javascript and some experience with programming and web environments.


Subject contents:

1 - Introduction
    1.1 - Dynamic Webs
2 - Server-side Programming
    2.1 - Hello PHP
    2.2 - PHP Functions and Arrays
    2.3 - PHP Objects
    2.4 - PHP File Handling
    2.5 - Individual Assignment I: Generating our individual portfolio
3 - CRUD in the Web
    3.1 - Hello MySQL
    3.2 - MySQL meets PHP
    3.3 - PHP Security
    3.4 - Individual Assignemnt II: Develop my own E-commerce
4 - Metasearch Engines
    4.1 - JSON and AJAX
    4.2 - REST APIs
    4.3 - Group Assignment I: Metasearch for travels

Subject planning could be modified due unforeseen circumstances (group performance, availability of resources, changes to academic calendar etc.) and should not, therefore, be considered to be definitive.


Teaching and learning methodologies and activities applied:

Theoretical practical sessions:

First, the lecturer will present the theoretical contents of the subject as a master class, supported by the necessary resources (blackboard, slides, and live demos ...) to exemplify and illustrate the contents properly. The participation of students asking questions, theoretical situations or promoting group discussion on the topics discussed will be encouraged.

Then, the theoretical sessions will be supported by the approach and resolution of practical exercises. These exercises will be solved by the students, individually or collectively, depending on the type of problem to solve. As part of this practical session, students will present their proposed solutions.



Participation of the students will be required during the theoretical-practical sessions. The participation will be computed and taken into account for the final marks. In addition, each unit will include some exercises that students should complete for their individual portfolios. The solution of the exercises will be shown and explained by the students, computing for the final grade.


Individual assignments:

Part of the learning and the grade acquired through the course comes from the resolution of the two individual assignments proposed along the course. In particular, for each of the lectures a short assignment will be requested. Those assignments must be delivered through the PDU within the deadline.

In order to resolve the exercises, student will receive some technical guidance. In addition, a communication mechanism will be provided (PDU) to discuss and comment on the different problems that arise during the resolution of the assignments.

The resolution of these individual assignments prepares the student to acquire the professional competences of this course.


Group assignments:

In addition to the individual assignments, students will develop a group assignment that will put in practice all the topics covered by the course. This assignment will be followed by the teacher before the final presentation, to ensure the quality and guide the students when needed.

As with the individual assignments, there will be technical guidance and a communication mechanism to discuss about the assignments.


Presentation of the assignments:

An important part of the learning process for the student is the presentation of their assignments to the rest of the students. During these presentations, students will have the opportunity to highlight the most positive aspects of their work, present the solutions to address the issues and even discuss other ways of solving the problems explored by the student.



Students will attend tutorials to ask the teacher questions and problems that arise during the course and that have not been properly addressed during the sessions. Also during these tutorials, the teacher will provide supervision and guidance to help students acquire the skills raised by the course.

As during tutorials with the teacher, students can use the media available on the PDU to raise concerns or judgments about the course at any time, to receive help and feedback from other students and from the teacher.

The tutorials will be held on Mondays from 16:00 to 18:00. If unable to attend tutoring during these times, they may be arranged at convenient times tutoring for students and the teacher.

Student work load:

Teaching mode Teaching methods Estimated hours
Classroom activities
Master classes 20
Practical exercises 8
Practical work, exercises, problem-solving etc. 12
Laboratory practice 14
Assessment activities 10
Individual study
Tutorials 4
Individual study 20
Individual coursework preparation 40
Group cousework preparation 9
Research work 8
Recommended reading 5
Total hours: 150


Calculation of final mark:

Written tests: 45 %
Individual coursework: 30 %
Group coursework: 5 %
Final exam: 10 %
Participation: 10 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.


Basic bibliography:

NIXON, Robin. Learning PHP, MySQL, JavaScript, CSS & HTML5 3rd Edition (O'Reilly 2014, ISBN 978-1491949467)

Recommended bibliography:

CASTRO, Elizabeth. HTML, XHTML y CSS. Madrid : Anaya Multimedia, 2007
DAVIS, Michele E. and PHILLIPS, Jon A. PHP y MySQL. Madrid : Anaya, 2008.
OLIVELLA, Ramón. Diseño y programación de aplicaciones web. Barcelona : Inforbook´s, D.L. 2002.

Recommended websites:

W3Schools Online Web Tutorials
XAMPP. Apache distribution
PHP Official Documentation

* Guía Docente sujeta a modificaciones