Developing secure applications is not a trivial task. Knowing the most common vulnerabilities that affect the applications, the mechanisms of authentication, authorization and access control, as well as the incorporation of the security to the software life cycle, is essential to build secure applications. This course addresses all of these aspects, with special emphasis in the development of applications and web services.