Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04327
Acrónimo :
04327
Ciclo :
1.º ciclo
Língua(s) de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês, Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
12.0h/sem
Aula Teórico-Prática (TP) :
12.0h/sem
Aula Prática e Laboratorial (PL) :
12.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


480 - Informática

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2026/2027

Pré-requisitos / Pre-Requisites


Fundamentos de Programação

Objetivos Gerais / Objectives


Fornecer uma visão integrada dos vários componentes de uma aplicação ou serviço web, apresentando os principais conceitos, problemas, metodologias e tecnologias associadas ao desenvolvimento de aplicações para a World Wide Web. Desta forma, o aluno será preparado para planear, desenvolver e modelar em equipa aplicações web, recorrendo a tecnologias cliente-servidor. O aluno irá: - Aprender a evolução e arquitetura da World Wide Web e reconhecer os seus principais componentes; - Desenvolver aplicações e serviços web com suporte a persistência de dados utilizando tecnologias com relevante adoção na indústria; - Realizar revisão do trabalho de outros colegas; - Desenvolver competências de criatividade, inovação, autoaprendizagem, trabalho em equipa e expressão oral.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


OA1 Enquadrar e compreender os principais componentes da World Wide Web; OA2 Conhecer e aplicar corretamente o modelo de programação cliente e o paradigma MVC; OA3 Utilizar e estender as tecnologias de servidor para desenvolver aplicações e serviços web; OA4 Integrar aplicações e serviços web com Sistemas de Gestão de Base de Dados; OA5 Compreender o pipeline do ciclo de vida de um projeto para web; OA6 Desenvolver a criatividade, inovação tecnológica, pensamento crítico; OA7 Desenvolver a autoaprendizagem, revisão por pares, trabalho em equipa, expressão oral.

Conteúdos Programáticos / Syllabus


C1 Introdução. A história da Web. Linguagens de programação para a Web; Standards W3C. C2 Arquitetura da World Wide Web - HyperText Markup Language (HTML). C3 Programação do lado do cliente. Descrição da estruturaa (HTML), folhas de estilo (CSS) e atualização dinâmica da interface gráfica. Validação da entrada; Introdução à segurança do lado do cliente. C4 Programação do lado do servidor. Distribuição de conteúdos estáticos, geração dinâmica de conteúdos e padrão de desenho MVC. Serviços e comunicação entre serviços. Introdução à segurança do lado do servidor. C5 Persistência de dados. Integração com Sistemas de Gestão de Base de Dados (SQL e NoSQL). C6 Arquiteturas web orientadas para serviços. Serviços Web e Microserviços. Modelos de middleware para a Web. Containerização.

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular unit's content dovetails with the specified learning outcomes


O alinhamento entre os conteúdos programáticos (C) e os objetivos de aprendizagem (OA) assegura a aquisição progressiva de conhecimentos e competências. O OA1 é desenvolvido através dos conteúdos C1 e C2, que abordam a evolução, arquitetura e componentes da Web. O OA2 é suportado por C2 e C3, incidindo na programação do lado do cliente e no modelo MVC. OA3 e OA4 são concretizados pelos conteúdos C4, C5 e C6, abrangendo programação do servidor, integração com bases de dados, serviços Web, microserviços e containerização. O OA5 é desenvolvido por C2, C4, C5 e C6, cobrindo o ciclo de vida de aplicações Web. OA6 e OA7 são promovidos transversalmente pelos conteúdos C2 a C6, fomentando criatividade, inovação, pensamento crítico, autoaprendizagem, trabalho em equipa, revisão por pares e comunicação.

Avaliação / Assessment


A UC segue o modelo de avaliação ao longo do semestre por projeto, pelo seu caráter eminentemente prático, não contemplando exame final. O estudante é avaliado pelas seguintes componentes (A1+A2): A1: 3 mini-testes individuais de resposta múltipla [30% - 10% cada um]. A classificação de A1 corresponde à média das notas dos 3 mini-testes. Nota mínima de 8 valores. A2: Projeto em Grupo (4) e discussão teórico-prática individual [70%]. A classificação de A2 corresponde a uma percentagem aplicada à nota do projeto, que decorre diretamente do desempenho demonstrado na discussão teórica-prática individual. Nota mínima de 9,5 valores. Assiduidade: Não é obrigatória a presença às aulas.

Metodologias de Ensino / Teaching methodologies


Total de 150 horas: - Aulas expositivas teórico-práticas: teoria,demonstrações, apresentações audiovisuais (12 h) - Aulas participativas: análise e discussão de casos de estudo,apresentações convidadas (3 h) - Aulas ativas: realização de exercícios, dos entregáveis do projeto de grupo em lab e apresentação do projeto (21h) - Aula de apoio tutorial (1h) - Trabalho autónomo do aluno: auto-estudo, revisão da matéria dada e realização dos entregáveis do trabalho de grupo (113h)

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


É a seguinte a correspondência entre as metodologias de ensino-aprendizagem e os objetivos de aprendizagem (OA): - Aulas expositivas para apresentação oral das unidades de ensino teóricas: OA1, OA2, OA3, OA4, OA5. - Aulas participativas com análise e discussão de casos de estudo: OA3, OA4, OA5. - Aulas ativas com a realização dos entregáveis relativos ao projeto de grupo: OA2, OA3, OA4, OA5, OA6, OA7. - Autoestudo e trabalho autónomo, para consulta da bibliografia, revisão de matéria dada e realização dos entregáveis do trabalho de grupo: OA1, OA2, OA3, OA4, OA5, OA6, OA7.

Observações / Observations


--

Bibliografia Principal / Main Bibliography


Dean, J. (2025). Web programming with HTML5, CSS, and JavaScript. Jones & Bartlett Learning, 2nd Edition. ISBN: ‎ 9781284302967. Percival, H., & Gregory, B. (2020). Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices. O'Reilly Media. ISBN: 9781492052203 Richardson, L., & Amundsen, M. (2013). RESTful Web APIs. O'Reilly Media. ISBN: 9781449358068. Mozilla Foundation. (n.d.). MDN Web Docs. https://developer.mozilla.org/ Ramírez, S. (n.d.). FastAPI documentation. https://fastapi.tiangolo.com/ Docker Inc. (n.d.). Docker documentation. https://docs.docker.com/

Bibliografia Secundária / Secondary Bibliography


Fielding, R. T. (2000). Architectural styles and the design of network-based software architectures (Doctoral dissertation, University of California, Irvine). https://ics.uci.edu/~fielding/pubs/dissertation/top.htm Haverbeke, M. (20). Eloquent JavaScript: A Modern Introduction to Programming (4th ed.). No Starch Press. ISBN: 9781593279509. Available at https://eloquentjavascript.net/ Martin, R. C. (2025). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. 2nd Edition. ISBN: 9780135398579. PocketBase Authors. (n.d.). PocketBase Documentation. https://pocketbase.io/docs/ React Team. (n.d.). React Documentation. https://react.dev/ MariaDB Foundation. (n.d.). MariaDB Server Documentation. https://mariadb.com/docs/ MongoDB, Inc. (n.d.). MongoDB Documentation. https://www.mongodb.com/docs/ World Wide Web Consortium. (2004). Architecture of the World Wide Web, Volume One. W3C Recommendation. https://www.w3.org/TR/webarch/

Data da última atualização / Last Update Date


2026-07-29