Programação para a Internet II

Conhecimentos de Base Recomendados

Desenvolvimento para a web (client-side): HTML, CSS, JavaScript; Bases de dados; Noções de programação orientada a objetos.

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

  • Listar e descrever as principais necessidades do surgimento de linguagens server-side;
  • Descrever as potencialidades da utilização de tecnologias Web num sistema de informação;
  • Identificar e descrever os diferentes paradigmas de desenvolvimento de páginas de conteúdo dinâmico;
  • Escolher o paradigma mais adequado a cada situação;
  • Desenvolver aplicações web dinâmicas, eficientes e seguras com base nos vários paradigmas;
  • Desenvolver, disponibilizar e utilizar APIs RESTFull.

Programa

  • Conceitos base de desenvolvimento de páginas de conteúdo dinâmico

  • Introdução à linguagem PHP
    • Introdução e conceitos base;
    • Variáveis e tipos de dados;
    • Operadores, instruções condicionais e ciclos;
    • Manipulação de strings;
    • Manipulação de arrays;
    • Funções;
    • Manipulação de formulários HTML;
    • Programação Orientada a Objetos;
    • Manipulação de bases de dados MySQL com PDO;
    • Cookies e variáveis de sessão;
    • Internacionalização;
  • Introdução ao desenvolvimento de aplicações web “tradicionais” (server-side) com a framework Laravel
    • Introdução e conceitos base
    • Rotas
    • O padrão MVC (Model View Controller)
    • Modelos (Migrations, Eloquent ORM)
    • Controladores
    • Vistas
    • Manipulação de formulários
    • Autenticação e autorização 
  • Introdução ao desenvolvimento de APIs REST

  • Desenvolvimento de aplicações web “modernas” (client-side) com JavaScript 

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

    Tavares, F. (2016). PHP com Programação Orientada a Objetos. FCA.

    Tavares, F. (2012). Desenvolvimento de Aplicações em PHP. FCA.

    Stauffer, M. (2023). Laravel: Up & Running: A Framework for Building Modern PHP Apps (3ª edição). O’Reilly Media.

    Portela, F. (2018). Introdução ao Desenvolvimento Moderno para a web – Do front-end ao back-end: uma visão global! FCA. 

    Queirós, R. & Portela, F. (2020). Desenvolvimento avançado para a web – Do front-end ao back-end. FCA.

    Outros livros, artigos e/ou páginas web que se mostrarem relevantes no decorrer do ano letivo.