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:

1. Método expositivo: método explicativo onde fundamentos teóricos e conceitos são apresentados pelo docente e discutidos com a turma. Os conceitos e informações serão apresentados aos alunos através, por exemplo, de apresentações em slides ou discussões orais. Será utilizado nas aulas para a estruturação e esquematização da informação.

2. Método demonstrativo: baseia-se na exemplificação pelo docente de uma operação técnica ou prática que se deseja aprendida. Centra-se na forma como se executa uma dada operação, destacando as técnicas, as ferramentas e os equipamentos mais adequados. Será por exemplo utilizado em aulas práticas e laboratoriais.

3. Método interrogativo: processo que se fundamenta em interações verbais, sob a condução do docente, adotando o formato de questões e respostas. Permite obter maior dinâmica na aula e consolidar a aprendizagem. Será utilizado por exemplo para recordar elementos de aulas anteriores, e em revisões do conteúdo lecionado.

4. Métodos ativos: serão utilizadas técnicas pedagógicas em que o aluno é o centro do processo de aprendizagem, sendo um participante ativo e envolvido na sua própria formação. O docente assume o papel de facilitador, estimulando o pensamento crítico, a colaboração, a criatividade e a autonomia dos alunos. Serão aplicados nas aulas para alcançar um ambiente de aprendizagem dinâmico e mais duradouro.

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;
  • Conhecer e aplicar os princípios de desenho universal/acessibilidade;

Programa

  • Hipermédia
    • Utilizações iniciais da Internet
    • Hipertexto
    • Hipermédia
    • Evolução Histórica
  • Arquitetura de aplicações 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

  • Acessibilidade
    • Acessibilidade de páginas web
    • Os atributos e funções ARIA
    • Avaliação automática e manual de páginas web (WCAG 2.1)

  • 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

Docente(s) responsável(eis)

Nuno Miguel Gil Fonseca

Métodos de Avaliação

Avaliação periódica

  • testes (3 práticos + 1 teórico) - 80.0%
  • trabalhos práticos - 20.0%

Avaliação por exame (época normal e época de recurso)

  • exame (parte pratica + parte teórica) - 80.0%
  • trabalho prático - 20.0%

Todos os elementos de avaliação são obrigatórios e têm como nota mínima 40% da sua cotação.

As regras aplicam-se igualmente a alunos que usufruam do estatuto de trabalhador-estudante (e similares).

Havendo fundadas suspeitas de fraude académica, detetada no momento da correção de elementos de avaliação (testes, trabalhos, exames, etc.), os estudantes poderão ser chamados a realizar uma apresentação oral para esclarecimento dos factos.

Ainda que possam não existir suspeitas de fraude académica, os estudantes poderão ainda assim ser chamados a realizar uma apresentação oral para esclarecimento de dúvidas que possam existir.

Estas apresentações orais terão caráter eliminatório.


    Estágio(s)

    NAO

    Bibliografia

    • Web Development Essentials (030) (Versão 1.0). (2022). Linux Professional Institute.
    • Abreu, L. (2015). HTML 5 (4a 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.
    • Crockford, D. (2008). JavaScript: The Good Parts. O’Reilly Media.
    • Flanagan, D. (2011). JavaScript: The Definitive Guide. O’Reilly Media.
    • Haverbeke, M. (2018). Eloquent Javascript. No Starch Press.