Conhecimentos de Base Recomendados
- Desenvolvimento para a web: HTML, CSS, JavaScript; PHP e Bases de Dados;
Métodos de Ensino
Metodologias de Ensino
Nesta unidade curricular, a aprendizagem é promovida através de metodologias que combinam exposição teórica, demonstração prática e aplicação em contexto real de programação web:
- Método expositivo: os conceitos fundamentais de programação web são apresentados e enquadrados pelo docente, recorrendo a exemplos práticos e discussões em sala. A exposição teórica serve sobretudo como base de apoio à componente prática, estruturando os conhecimentos que os alunos irão aplicar no desenvolvimento de projetos.
- Método demonstrativo: as técnicas e boas práticas de desenvolvimento são exemplificadas pelo docente em tempo real, através da implementação de pequenos trechos de código e resolução de problemas comuns. Esta abordagem permite aos alunos observar não só o resultado final, mas também o processo de raciocínio e tomada de decisão na construção de soluções web.
- Método interrogativo: ao longo das aulas, o docente promove a interação através de questões orientadas, revisões e pequenos desafios que ajudam a consolidar a matéria e a estimular o pensamento crítico. Este método contribui para que os alunos reflitam sobre diferentes formas de resolver um mesmo problema.
- Métodos ativos: o aluno é colocado no centro do processo de aprendizagem, através do desenvolvimento de projetos e exercícios práticos que exigem autonomia, criatividade e trabalho colaborativo. A unidade curricular privilegia a realização de aplicações web reais, aproximando o contexto de sala de aula ao ambiente profissional. O docente assume o papel de orientador, facilitando a aprendizagem, incentivando a experimentação e guiando os alunos na adoção de boas práticas de programação.
Resultados de Aprendizagem
Objetivos:
A unidade curricular de Programação Web II tem como objetivo consolidar os conhecimentos adquiridos em Programação Web I, reforçando a utilização de JavaScript no lado do cliente e PHP no lado do servidor, com integração de bases de dados MySQL. Numa segunda fase, os estudantes serão introduzidos a novas tecnologias e metodologias de desenvolvimento, explorando a utilização de frameworks modernas (Laravel e React) que lhes permitam compreender e aplicar conceitos de arquitetura, separação de camadas e consumo de APIs, preparando-os para desafios mais avançados no desenvolvimento web.
Competências a Desenvolver
- Consolidar a criação de aplicações web dinâmicas com JavaScript, PHP e MySQL.
- Estruturar projetos web de forma modular e organizada, aplicando boas práticas de desenvolvimento.
- Compreender os princípios da arquitetura MVC e a utilização de frameworks PHP (Laravel).
- Implementar operações CRUD completas integradas com base de dados.
- Criar interfaces modernas e responsivas, utilizando Admin Templates e bibliotecas gráficas.
- Explorar a criação de componentes reutilizáveis no React e a sua interação com APIs.
- Reforçar conceitos de autenticação e segurança em aplicações web.
Programa
Conteúdo Programático:
Parte I – Consolidação de Programação Web I
- Revisão da estrutura de aplicações web (cliente, servidor e base de dados).
- JavaScript: sintaxe, manipulação do DOM e tratamento de eventos.
- PHP e MySQL: manipulação de formulários, integração com bases de dados, validação e sanitização.
- Admin Templates: integração em projetos, criação de dashboards e visualização de dados.
- Autenticação e Segurança: sessões e cookies, login e registo de utilizadores, hashing de passwords e prevenção de ataques comuns.
Parte II – Introdução a Novas Tecnologias
Laravel (PHP Framework):
- Estrutura de um projeto Laravel.
- Composer e Artisan.
- Rotas, controladores e views com Blade.
- Modelo de dados com Eloquent e migrações.
- Implementação de operações CRUD.
React (Frontend Framework):
- Estrutura de uma aplicação React.
- Componentes, props e state.
- Formulários e eventos em React.
- Comunicação com APIs (fetch/axios).
- Integração React ↔ Laravel: consumo de dados via API REST.
- Projeto Final: desenvolvimento de uma aplicação web completa integrando Laravel (backend) e React (frontend).
Docente(s) responsável(eis)
Michael TeixeiraMétodos de Avaliação
A aprovação do aluno por avaliação contínua ficará condicionada ao cumprimento dos seguintes requisitos:
- Frequência mínima de 75% das horas totais da unidade curricular, conforme previsto no Regulamento dos CTeSPs (Artigo 23.º, ponto 1).
- Resolução e entrega dos exercícios práticos e fichas de trabalho ao longo do semestre – 20%.
- Desenvolvimento, entrega e apresentação de um 1.º Projeto, acompanhado de relatório, com classificação igual ou superior a 9,5 valores – 40%.
- Desenvolvimento, entrega e apresentação de um 2.º Projeto, acompanhado de relatório, com classificação igual ou superior a 9,5 valores – 40%.
As apresentações dos projetos poderão assumir a forma de defesa individual ou apresentação perante os pares, consoante definição do docente responsável pela unidade curricular.
Estágio(s)
NAO
Bibliografia
Base de Consolidação (PHP, MySQL, JavaScript):
- Nixon, R. (2012). Learning PHP, MySQL, JavaScript & CSS (2ª ed.). O’Reilly Media.
- Flanagan, D. (2020). JavaScript: The Definitive Guide (7ª ed.). O’Reilly.
- Ullman, L. (2011). PHP & MySQL for Dynamic Web Sites (5ª ed.). Peachpit Press.
- Duckett, J. (2014). JavaScript & JQuery: Interactive Front-End Development. Wiley.
Novas Tecnologias (Laravel e React):
- Stauffer, M. (2019). Laravel: Up & Running (2ª ed.). O’Reilly Media.
- React Team. (2023). The React Documentation. Meta Open Source. Disponível em: https://react.dev
- Laravel Documentation. (2023). The Laravel Documentation. Disponível em: https://laravel.com/docs
Outros Recursos:
- Outros livros, artigos e páginas web que se mostrarem relevantes ao longo do ano letivo.