Programação para a Internet I

Conhecimentos de Base Recomendados

n. a. 

Métodos de Ensino

Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:

Método expositivo: método explicativo onde factos, conceitos, princípios e generalizações são definidos e apresentados pelo professor e discutidos com a turma, seguido de exemplos demonstrativos;

Método experimental: método ativo onde o aluno desenvolve o conhecimento através da resolução de problemas e o desenvolvimento de projetos em dinâmica de grupo e trabalho individual e refletivo.

Resultados de Aprendizagem

  • Identificar as principais utilização da Internet;
  • Descrever o funcionamento de clientes e servidores web;
  • Descrever o funcionamento do protocolo HTTP;
  • Construir páginas web com HTML corretamente escrito;
  • Testar páginas web com vista a identificar problemas e solucionar os ditos problemas;
  • Construir folhas de estilos com CSS;
  • Identificar as limitações das CSS e aplicar pré-processadores de CSS para os ultrapassar;
  • Construir páginas web com frameworks de HTML/CSS;
  • Desenvolver aplicações client-side com JavaScript;
  • Descrever o modo de funcionamento de um motor de busca;
  • Desenvolver otimizações numa página web (SEO)

Programa

  • Hipermédia
    • Utilizações iniciais da Internet
    • Hipertexto
    • Hipermédia
    • Evolução Histórica
  • Clientes e servidores web
    • Conceitos base
    • Principais tipos de clientes web
    • Browsers
    • Browser engines
    • JavaScript engines
    • Browsers de texto
    • Conceitos base sobre servidores web
  • HTTP (HyperText Transfer Protocol)
    • Definiçao de protocolo
    • Evolução do protocolo HTTP
    • A estrutura das transações (pedidos e respostas)
    • Principais cabeçalhos
    • Os diversos métodos (GET, POST, PUT, DELETE, HEAD, …)
  • HTML (HyperText Markup Language)
    • Conceitos base
    • Estrutura base de um documento HTML
    • Validação de documentos HTML
    • Metatags
    • As tags elementares (p, a, hr, br, img, h1…h6)
    • Listas
    • Tabelas
    • Formulários
    • Destaques
    • Contentores genéricos
    • Contentores semânticos
    • Multimédia (video, áudio, canvas) 
  • CSS (Cascading Style Sheets)
    • Conceitos base
    • Validação de ficheiros CSS
    • Regras de estilo
    • As diferentes formas de definir estilos (inline, interna, externa)
    • Os principais seletores
    • Prioridade entre seletores
    • Formatação de texto
    • Cores e backgrounds
    • Propriedades de formatação do box-model
    • Pseudo classes e pseudo elementos
    • Posicionamento de imagens e tabelas
    • Formatação de listas
    • Tipos de posicionamento (static, absolute, relative, fixed)
    • Flexbox
    • Construção de layouts assente em grelhas
    • Responsive design
    • Transformações 2D e 3D
    • Transições
    • Animações
  • Pré-processamento de CSS (SASS)
    • Conceitos base
    • Variáveis
    • Nesting
    • Partials
    • Mixins
    • Herança
    • Operadores
    • Media queries
  • Frameworks de CSS/HTML
    • Conceitos base
    • Construção de layouts recorrendo a frameworks de CSS/HTML
  • JavaScript
    • Conceitos base
    • As várias formas de utilizar JavaScript (inline, interna e externa) 
    • Eventos
    • Funções
    • Variáveis e tipos de dados
    • Operadores
    • Estruturas de controlo 
    • Ciclos
    • Manipulação de strings
    • Manipulação de arrays
    • Manipulação de formulários
    • Programação orientada a objetos
    • Web storage
    • Cookies
    • Manipulação do DOM
    • Fetch API
  • Motores de busca 
    • Conceitos base sobre o funcionamento de um motor de busca
    • O processo de indexação de uma página
    • Noções de SEO (search engine optimization)

Docente(s) responsável(eis)

Métodos de Avaliação

Avaliação final
  • - uma prova escrita individual - 50.0%
  • - trabalho prático individual - 50.0%
Avaliação contínua
  • - trabalho prático individual - 60.0%
  • - prova escrita individual - 40.0%

Estágio(s)

NAO

Bibliografia

Abreu, L. (2015). HTML 5 (4ª edição). FCA.

Remoaldo, P. (2011). CSS 3. FCA.

Queirós, R. (2017). Criação rápida de sites responsivos com o Bootstrap. FCA.

Abreu, L., & Carreiro, J. P. (2015). JavaScript 6. FCA.

Portela, F., & Queirós, R. (2018). Introdução ao desenvolvimento moderno para a web. FCA.

Portela, F., & Queirós, R. (2020). Desenvolvimento moderno para a web – do front-end ao back-end. FCA.