Conhecimentos de Base Recomendados
- Conhecimento de HTML e CSS.
- Noções básicas de lógica de programação.
- Noções de bases de dados serão uma vantagem, mas não obrigatórias.
Métodos de Ensino
- Aulas expositivas para explicação dos conceitos fundamentais.
- Aulas práticas para implementação de exercícios e desenvolvimento de projetos.
- Desenvolvimento de uma aplicação web completa, onde os estudantes aplicam os conhecimentos adquiridos.
- Utilização de ferramentas de versionamento como Git/GitHub para acompanhamento dos projetos.
Resultados de Aprendizagem
Objetivos:
A unidade curricular de Programação Web I tem como objetivo dotar os estudantes de competências no desenvolvimento de aplicações web dinâmicas, utilizando JavaScript no lado do cliente e PHP no lado do servidor, com integração de bases de dados MySQL. Adicionalmente, os estudantes aprenderão a utilizar Admin Templates para a criação de aplicações web com interfaces modernas e responsivas.
Competências a Desenvolver
- Desenvolver aplicações web dinâmicas utilizando JavaScript e PHP.
- Importar e utilizar bases de dados relacionais com MySQL.
- Criar interfaces modernas e responsivas utilizando Admin Templates.
- Compreender e aplicar conceitos de autenticação e segurança em aplicações web.
Programa
Fundamentos do Desenvolvimento Web Dinâmico
- Revisão de HTML5 e CSS3.
- Estrutura de aplicações web: Cliente, Servidor e Base de Dados.
- Configuração do ambiente de desenvolvimento (XAMPP, VS Code, MySQL Workbench).
JavaScript (Frontend Dinâmico)
- Sintaxe: variáveis (let, const), funções arrow, spread/rest, template literals.
- Manipulação do DOM e eventos.
Desenvolvimento Backend com PHP e MySQL
- Introdução ao PHP e arquitetura de aplicações web.
- Manipulação de formulários e variáveis.
- Conexão com bases de dados MySQL (PDO e MySQLi).
- Validação de dados para segurança.
Utilização de Admin Templates na Criação de Aplicações Web
- Introdução a Admin Templates.
- Implementação de dashboards interativos.
- Utilização de tabelas dinâmicas e gráficos para visualização de dados.
- Integração frontend/backend com dados dinâmicos.
Autenticação e Segurança
- Sessões e Cookies em PHP.
- Implementação de sistema de login e registo de utilizadores.
- Hashing de passwords (bcrypt, password_hash).
- Medidas de segurança contra SQL Injection e XSS.
Métodos de Avaliação
A avaliação da Unidade Curricular será realizada através do desenvolvimento de um projeto final e respetiva defesa (composta por relatório e apresentação aos pares). A aprovação do aluno por avaliação contínua ficará condicionada ao cumprimento dos seguintes requisitos:
a) Frequência a pelo menos 75% das horas totais da unidade curricular como previsto no Regulamento CTeSPs - Artigo 23º Ponto 1;
b) Média final do desenvolvimento do projeto final superior ou igual a 9,5 valores.
Estágio(s)
NAO
Bibliografia
Nixon, R. (2012). Learning PHP, MySQL, JavaScript & CSS (2ª ed.). O’Reilly Media.
Flanagan, D. (2020). JavaScript: The Definitive Guide (7ª ed.). O’Reilly Media.
Ullman, L. (2011). PHP & MySQL for Dynamic Web Sites (5ª ed.). Peachpit Press.
Duckett, J. (2014). JavaScript & jQuery: Interactive Front-End Development. Wiley.