Programação Web

Código

01063154

Créditos ECTS

6

Objetivos

  • Saber desenvolver aplicações Web em grande escala do lado do Cliente e do lado do Servidor em linguagens de programação de alto nível.
  • Saber implementar serviços nas arquiteturas SOA e RESTful.
  • Saber desenvolver aplicações Web em grande escala recorrendo a frameworks.
  • Saber assegurar requisitos de segurança no desenvolvimento de aplicações Web.
  • Saber configurar plataformas Cloud (PaaS) para instalar e executar aplicações Web.

Programa

  1. Linguagens de programação Web do lado do Servidor
  2. Formatos de dados de comunicação na Web
  3. Web Services
  4. Frameworks de desenvolvimento de aplicações Web do lado do servidor
  5. Integração da parte cliente com a parte servidor de uma aplicação Web
  6. Segurança no desenvolvimento de aplicações Web
  7. Arquitetura, protocolos e plataformas de serviços Cloud

Métodos de Ensino

As aulas teóricas são expositivas em que se apresentam os conceitos com recurso a exemplos e demonstrações de desenvolvimento de aplicações Web de pequena escala.
As aulas práticas laboratoriais funcionam articuladas com as aulas teóricas e são vocacionadas para o desenvolvimento de aplicações, de média e grande escala, como soluções para problemas com requisitos Web.
Os estudantes desenvolvem um projeto que é o elemento aglutinador dos conteúdos aprendidos ao longo da unidade curricular, que permite analisar, desenhar e implementar uma aplicação Web numa situação mais próxima da realidade e adquirir competências de trabalho autónomo e em equipa.
A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como repositório de material pedagógico e didático de apoio à aprendizagem, bem como de plataforma de agendamento, divulgação e promoção de atividades complementares e de gestão dos elementos de avaliação.

Avaliação:
Em cada edição da unidade curricular, a avaliação, em frequência e exames, é constituída por uma componente individual teórico-prática que tem peso entre 40% e 60% e uma componente de projeto em grupo que tem peso entre 40% e 60%, ambas com nota mínima de 10 valores.

Bibliografia

Essencial:
- Kavis, M. J. (2014). Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS): Wiley.
- Shklar, L. (2009). Web Application Architecture: Principles, Protocols and Practices (Second Edition): Wiley
- Stuttard, D. et al (2011). The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws (Second Edition): Wiley.
- Allamaraju, S. (2010). RESTful Web Services Cookbook: O’Reilly

Complementar:
- Li, D. (2018). Building Enterprise JavaScript Applications: Learn to build and deploy robust JavaScript applications using Cucumber, Mocha, Jenkins, Docker, and Kubernetes. Packt
- Hussain, K., Hussain, F. (2023). TypeScript in Action: Building Modern Web Applications with TypeScript: Sonar Publishing

Método de Avaliação