Web Programming

Languages and Technologies

Javier Espinosa, PhD
Postdoctoral Research Fellow, LAFMIA lab

Manuel Atencia, PhD
Associate Profesor, UPMF, France


The Web 2.0 describes web sites that use technology beyond the static pages of earlier web sites. The characteristics of Web 2.0 are: rich user experience, user participation, dynamic content, metadata, web standards, and scalability. Further characteristics, such as openness, freedom and collective intelligence by way of user participation, can also be viewed as essential attributes of Web 2.0. The Web 2.0 is possible thanks to the advances of distributed systems and applications construction, and to fundamental concepts that remain important to understand, the current state and evolution of the Web as a technological platform.


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.


  1. Introduction: from documents to applications
  2. The Web of documents
    • HTML
    • CSS
    • JSON
  3. Tools for programming Web applications
    • HTTP
    • PHP
    • JS
  4. Architectures and programming patterns (slidesTD)
    • Architectural Models: from client servers to n-tier models
    • The client, the Web server and storage support
  5. Service Oriented Programming (slidesTP)
  6. Single Page Applications (slides)
    • AJAX (slides)
    • UI Patterns: MVC, MVVM, MVP

Hands On

Technical Requirements:


  • Web services: concepts, architectures and applications, Series: Data-Centric Systems and Applications, G. Alonso, F. Casati, H. Kuno, V. Machiraju, Springer Verlag, 2004.

  • RESTful Web Services: Web services for the real worldLeonard Richardson, Sam Ruby, O’Reilly, 2007.

  • Distributed Systems, principles and paradigmsA. S. Tanenbaum, M. van Steen, Prentice Hall, 2006.

  • Distributed Systems: concepts and design (5th edition), Coulouris et al., Addison-Wesley, 2011.