Programação Web I

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.