Dispositivos Móveis e Multimédia

Programação Web e Multimédia

Objetivos de aprendizagem e a sua compatibilidade com o método de ensino

O1 – Projetar e desenvolver interfaces web modernas e responsivas, utilizando tecnologias e frameworks frontend;
O2 – Desenvolver aplicações web fullstack, integrando frontend e backend de forma coerente e eficiente;
O3- Conceber e Implementar serviços backend robustos, incluindo APIs RESTful e gestão de dados persistentes;
O4 – Avaliar e aplicar princípios de arquiteturas aplicacionais, incluindo separação de responsabilidades, padrões e escalabilidade;
O5 – Integrar conteúdos multimédia interativos, incluindo áudio, vídeo, gráficos e animação em aplicações web, de forma autónoma e crítica;
O6 – Gerir comunicação cliente-servidor, incluindo protocolos, segurança e autenticação;
O7 – Integrar práticas de deployment, DevOps, garantindo entrega contínua e escalabilidade;
O8 – Desenvolver aplicações web orientadas a desempenho e experiência do utilizador (UX).

Ramo

Dispositivos Móveis e Multimédia

Área Científica

Ciências Informáticas

Ano/Semestre

1º / 1º

Carácter

Obrigatório

Horas Totais

168h

Teórico/Prático

42h

Conteúdo programático

1. Desenvolvimento Web

1.1. Arquitetura web (cliente-servidor)
1.2. HTML5, CSS3 e JavaScript
1.3. Responsive design e mobile-first
1.4. Introdução a Progressive Web Apps

2. Desenvolvimento Frontend

2.1. Frameworks/libraries modernas
2.2. Gestão de estado
2.3. Integração com APIs
2.4. UI/UX e acessibilidade

3. Programação Backend

3.1. Node.js
3.2. Criação de APIs RESTful
3.3. Middleware e gestão de rotas
3.4. Autenticação e autorização
3.5. Segurança em aplicações web

4. Bases de Dados e Persistência

4.1. Modelação de dados
4.2. Bases de dados relacionais (SQL) e não relacionais (NoSQL)
4.3. Operações CRUD e otimização de queries

5. Arquiteturas de Aplicações Web

5.1. Arquitetura em camadas
5.2. Arquitetura baseada em serviços
5.3. API-first design
5.4. Escalabilidade e balanceamento de carga

6. Multimédia

6.1. Integração de áudio e vídeo
6.2. Canvas e WebGL
6.3. Animações
6.4. Interatividade e experiência multimédia

7. DevOps, Deployment e Performance

7.1. Git
7.2. GitHub Actions, GitLab CI
7.3. Docker
7.4. Deployment

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular

Os conteúdos programáticos foram estruturados de forma a garantir uma cobertura integrada dos objetivos definidos. Os tópicos de frontend e backend suportam diretamente o desenvolvimento de aplicações fullstack (Objetivos 1, 2 e 3), enquanto os módulos de arquiteturas e persistência de dados asseguram a aquisição de competências ao nível da conceção e escalabilidade de sistemas (Objetivo 4). A componente de multimédia permite o desenvolvimento de aplicações interativas e enriquecidas (Objetivo 5), sendo complementada pelos conteúdos de comunicação e segurança (Objetivo 6). Por fim, os tópicos de DevOps, deployment e otimização garantem a operacionalização das aplicações em contexto real, promovendo boas práticas de engenharia e melhoria contínua (Objetivos 7 e 8).

Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico

A unidade curricular adota uma abordagem pedagógica centrada no estudante, alinhada com o modelo pedagógico institucional, promovendo a aprendizagem ativa, autónoma e orientada à resolução de problemas. A componente teórica é articulada com atividades práticas, assegurando a consolidação progressiva dos conhecimentos e a sua aplicação em contextos reais de desenvolvimento web e multimédia. As metodologias incluem aulas teórico-práticas, com exposição de conceitos fundamentais seguida da sua aplicação imediata em exercícios orientados, bem como aprendizagem baseada em projetos (Project-Based Learning), onde os estudantes desenvolvem uma aplicação web fullstack integrando componentes frontend, backend e multimédia. É incentivado o trabalho colaborativo, através de atividades em grupo, promovendo competências de comunicação, organização e desenvolvimento em equipa, em linha com práticas profissionais. Paralelamente, são utilizadas ferramentas e metodologias próximas do contexto industrial, incluindo controlo de versões, integração contínua e deployment, reforçando a ligação entre o ensino e o mercado de trabalho. A unidade curricular promove ainda a aprendizagem autónoma, através da exploração de documentação técnica, frameworks e tecnologias emergentes, incentivando a capacidade de adaptação e atualização contínua. A orientação tutorial e o feedback contínuo permitem acompanhar o progresso dos estudantes e apoiar a superação de dificuldades. Desta forma, assegura-se a coerência com o modelo pedagógico, promovendo a aquisição integrada de conhecimentos, competências técnicas e capacidades transversais essenciais ao nível de mestrado.

Avaliação

São considerados vários momentos de avaliação de reflexão ou de pesquisa ao longo do semestre e um outro momento de avaliação ocorrerá no final do semestre e tem a forma de um trabalho com apresentação oral.
Os resultados das avaliações são expressos na escala numérica de 0 a 20 valores. São considerados, na avaliação de conhecimentos, outros elementos tais como a participação e colaboração de cada estudante, com os outros estudantes e com o professor, ao longo do semestre.
Resultado final = 40% (Participação-Colaboração e outros trabalhos) + 60% (Avaliação final).

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular

As metodologias de ensino adotadas nesta unidade curricular encontram-se alinhadas com os objetivos de aprendizagem definidos, assegurando a aquisição integrada de conhecimentos teóricos e competências práticas no domínio do desenvolvimento web e multimédia. A abordagem teórico-prática permite a consolidação dos fundamentos essenciais (Objetivos 1, 3 e 4), enquanto a aprendizagem baseada em projeto promove a aplicação desses conhecimentos no desenvolvimento de soluções completas, integrando frontend, backend e componentes multimédia (Objetivos 2 e 5).
O recurso a atividades práticas, exercícios orientados e desenvolvimento progressivo de um projeto fullstack permite aos estudantes desenvolver competências técnicas e de resolução de problemas, bem como compreender aspetos relacionados com comunicação cliente-servidor, segurança e integração de serviços (Objetivo 6). A incorporação de ferramentas e práticas próximas do contexto profissional, como controlo de versões, integração contínua e deployment, assegura a concretização dos objetivos associados a DevOps e operacionalização de aplicações (Objetivo 7).
Os métodos de avaliação são diversificados e contínuos, incluindo a realização de projetos práticos, trabalhos de grupo e eventuais componentes individuais, permitindo aferir não apenas o domínio técnico, mas também competências transversais como trabalho colaborativo e autonomia. A avaliação do projeto permite ainda verificar a capacidade de otimização, desempenho e qualidade da experiência do utilizador (Objetivo 8). Desta forma, existe uma correspondência direta entre metodologias de ensino, instrumentos de avaliação e os objetivos de aprendizagem, garantindo coerência pedagógica e alinhamento com as competências exigidas ao nível de mestrado.

Bibliografia

  • Flanagan, D. (2023). JavaScript: The definitive guide (8th ed.). O’Reilly Media.
  • Freeman, A. (2023). Pro ASP.NET Core 7 (10th ed.). Apress.
  • Banks, A., & Porcello, E. (2023). Learning React: Modern patterns for developing React apps (3rd ed.). O’Reilly Media.
  • Haverbeke, M. (2024). Eloquent JavaScript (4th ed.). No Starch Press.
  • Richards, M., & Ford, N. (2022). Fundamentals of software architecture: An engineering approach (2nd ed.). O’Reilly Media.
  • Osmani, A. (2023). Learning JavaScript design patterns (2nd ed.). O’Reilly Media.
  • Frain, B. (2022). Responsive web design with HTML5 and CSS (4th ed.). Packt Publishing.
  • Williams, R., & Wiggins, G. (2023). Mastering API architecture: Design, operate, and evolve API-based systems. O’Reilly Media.