Given the potential of the Web of the future, it is important to learn how to exploit it through the construction of modern applications. Therefore, the objective of this course is to teach students fundamental concepts and show them how they are applied in the construction of Web applications. The course will show through technological tools the key issues to address for building useful and usable Web applications, the new trends and open issues.