Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
Espera-se do aluno aprovado:
A capacidade de entender e criar soluções integradas cliente/servidor, tirando partido das tecnologias fundamentais da Web e utilizando a linguagem PHP do lado do servidor e bases de dados MySQL;
A capacidade de articular diferentes tecnologias da Web (URL, HTTP, HTML, CSS, programação no servidor) na resolução de problemas na Web, considerando questões de estética, usabilidade, desempenho e segurança,
Conteúdos programáticos
Tecnologias fundamentais da Web
HTML, URL, HTTP
Fundamentos de HTML5
Estrutura de um documento HTML5; Elementos/tags/atributos; Sintaxe e semântica
Web Browsers e Web Servers: comunicação cliente servidor
Fundamentos de CSS
Anatomia de uma regra; Selectores; Propriedades e valores.
Responsive Web Design: layouts fluídos, e media-queries
Programação no Servidor
Introdução à linguagem PHP; variáveis, tipos de dados, strings,arrays; estruturas de controle
Sintaxe PHP embutida no HTML
Processamento do Input: parâmetros do pedido
Entrega de conteúdo dinâmico. Http Headers e Status Codes; Redirecção.
Manutenção do estado: Cookies versus Sessions
Autenticação dos utilizadores. Segurança.
Interacção com a Base de Dados MySQL; phpMyAdmin; PDO - Php Data Objects
Arquitectura Model View Controller
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
São expostos os pilares da Web e as suas tecnologias fundamentais que vão permitir ao aluno compreender a mecânica e o contexto da programação num ambiente cliente-servidor.
É exposta a sintaxe e a semântica da linguagem de programação PHP, e a lógica da recepção de input, de processamento e produção de output.
É apresentada a base de dados MySQL e a interacção com ela através da ferramenta de gestão phpMyAdmin e das bibliotecas PHP de suporte ao acesso a base de dados
A arquitectura padrão Model View Controller é explicada e demonstrada.
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
Metodologia de ensino:
Aulas teórico-práticas de exposição da matéria, de demonstração de conceitos e de software, de resolução de exercícios e de apresentação e discussão da solução dos exercícios.
Aulas práticas dedicadas à realização do projeto da disciplina e aulas de apresentação e discussão dos projetos dos alunos
Avaliação:
Realização de um teste prático com o peso de 50% na nota final
Conceção, desenho e implementação de um projeto em sala de aula (50% da nota final).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
Com a exposição dos conceitos fundamentais e com a demonstração de código e de soluções de software é dado ao aluno a responsabilidade e a motivação para o seu envolvimento nos exercícios que lhe são atribuídos. É favorecida a autonomia do aluno e privilegiado o desejo e a capacidade da descoberta. O projecto final permite a articulação e a integração dos conceitos e tecnologias abordados, consolidando-os e abrindo as portas à procura de mais conhecimento.
Bibliografia de consulta (existência obrigatória)
Jon Duckett, HTML and CSS: Design and Build Websites, John Wiley, 2011
Leon Shklar, Rich Rosen. 2012, Web Application Architecture, 2ª edition, John Wiley, 2012.
Larry Ullman, PHP for the Web, 5th Edition, Peachpit Press, 2016.
Jon Duckett, PHP & MySQL Server: Server-side Web Development, John Wiley, 2022