Programação Web

Código

01060988

Créditos ECTS

6

Objetivos

1. Desenhar e implementar aplicações web dinâmicas de média escala utilizando linguagens de programação de alto nível.
2. Desenvolver aplicações Web recorrendo a frameworks.
3. Gerir o processamento de dados e a lógica da aplicação de forma persistente recorrendo a base de dados.
4. Implementar requisitos de segurança no desenvolvimento de aplicações Web, recorrendo a mecanismos de autenticação e autorização.
5. Desenvolver e testar Web APIs (Application Programming Interface). 

Programa

1. Arquitetura, protocolos e plataformas de serviços Cloud
2. Formatos de dados de comunicação na Web
3. Arquitetura orientada a serviços (SOA)
4. Estrutura, função e interação de web services.
5. Linguagens de programação Web do lado do servidor
6. Frameworks de desenvolvimento de aplicações Web do lado do servidor
7. Integração da parte cliente com a parte servidor de uma aplicação Web
8. Segurança no desenvolvimento de aplicações Web

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 pequena e média 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., 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

Complementar

  • 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.

Método de Avaliação

    De acordo com Métodos de Ensino - 100 %