Web programming

« Return

Objectives

1. To know how to configure Cloud (PaaS) platforms to install and run Web applications.

2. To know how to develop client-side and server-side Web applications in high-level programming languages.

3. To know how to implement services in SOA and RESTful architectures.

4. To know how to develop web applications in frameworks.

5. To know how to ensure security requirements in Web application development.

Program

1. Architecture, protocols, and platforms for Cloud services

2. Data formats for Web communication

3. Service‑oriented architecture (SOA)

4. Structure, function, and interaction of Web services

5. Server‑side Web programming languages

6. Frameworks for server‑side Web application development

7. Integration of the client side with the server side of a Web application

8. Security in Web application development

Teaching Methodologies

Theoretical classes are lecture‑based, presenting concepts with the support of examples and demonstrations using small‑scale Web application development.

Laboratory practical classes are articulated with the theoretical ones and focus on the development of small‑ and medium‑scale applications as solutions to problems with Web‑related requirements.

Students develop a project that acts as the integrating element of the contents learned throughout the course unit, allowing them to analyse, design, and implement a Web application in a setting closer to real‑world practice, and to acquire competences in autonomous work and teamwork.

The UAc Moodle e‑learning platform (at http://moodle.uac.pt) is used as a repository of pedagogical and didactic learning materials, as well as a platform for scheduling, dissemination, and promotion of complementary activities and for managing assessment elements.

ASSESSMENT:
In each edition of the course unit, both continuous assessment and examinations comprise an individual theoretical‑practical component, with a weight between 40% and 60%, and a group project component, with a weight between 40% and 60%, both requiring a minimum mark of 10 (out of 20).

Bibliography

Essential

  • Kavis, M. J., Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), Wiley, 2014
  • Shklar, L., Web Application Architecture: Principles, Protocols and Practices, 2nd Edition, Wiley, 2009.
  • Tatroe, K. and MacIntyre, P., Programming PHP: Creating Dynamic Web Pages, O'Reilly Media, 4th Edition, 2020.
  • Allamaraju, S., RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity,O’Reilly, 2010

Complementary

  • Stuttard, D. et al., The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws, 2nd Edition, Wiley, 2011.
  • Stauffer, M., Laravel: Up and Running: A Framework for Building Modern PHP Apps, O'Reilly Media, 2019.

Code

01060988

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 30 hours
  • Teóricas - 30 hours