Unidade Curricular:Código:
Projeto de Aplicações Web1126PAWB
Ano:Nível:Curso:Créditos:
1MestradoEngenharia Informática (Computação Móvel)6 ects
Período Lectivo:Língua de Instrução:Nº Horas:
Segundo SemestrePortuguês/Inglês78
Objectivos de Aprendizagem:
Esta unidade curricular tem como objetivo aprofundar os conhecimentos de programação web recorrendo a uma abordagem com implementações com frontend e backend em dois componentes distintos. Estas ferramentas serão abordadas no sentido de apoiar o desenvolvimento do projeto nesta unidade curricular.
Ao completar com sucesso esta unidade curricular os alunos devem ser capazes de:
1. Ter capacidade para definir a arquitetura de uma aplicação web e os seus componentes.
2. Ter capacidade para definir e escolher as tecnologias para cada componente da aplicação.
3. Ter conhecimento de métodos de análise de código, desempenho de aplicações.
4. Ter conhecimento de técnicas de programação adaptadas a grandes projetos.
5. Ter capacidade para incluir técnicas de acessibilidade, internacionalização e localização.
Conteúdos Programáticos:
0. Apresentação, Enquadramento e Objetivos, Metodologia e Sistema de Avaliação, Conteúdo Programático e Bibliografia
1. Introdução
2. O protocolo HTTP: introdução e funcionamento
3. Arquitetura básica de uma aplicação
4. Padrão de Arquitetura MVC
5. REST API
6. Segurança na Web: recomendações OWASP
7- Arquitecturas baseadas em serviços
8- Frameworks
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular:
Os conteúdos programáticos cobrem os objetivos previstos, estando organizados em unidades que permitem estudar as principais áreas que caraterizam o desenvolvimento web. Inicialmente é feita uma apresentação sobre a ferramenta Docker. Depois serão abordados os conceitos de Framework para desenvolvimento em front-end e back-end. Os objetivos da aprendizagem são atingidos complementando estes conceitos com exemplos concretos executados em ambiente de laboratório recorrendo a breves apresentações / seminários e exercícios práticos. A realização prática de um projeto web permite aos alunos aplicarem e validarem conhecimentos adquiridos, e desenvolverem as competências previstas.
Metodologias de Ensino (Avaliação Incluída):
A transmissão de conhecimentos nesta unidade curricular será efetuada recorrendo a metodologia expositiva e demonstrativa, onde nas aulas práticas são apresentados os conceitos fundamentais à compreensão dos temas do programa. Nessas aulas os alunos são confrontados com problemas reais que eles têm que resolver. A avaliação será calculada de acordo com a seguinte fórmula:
Nota final = 50% Entrega e Apresentação dos Exercícios Propostos (pesos equitativos por trabalho e defesa) + 50% Projeto Apresentado
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular:
A metodologia de ensino/aprendizagem aplicada nesta unidade curricular bem como o seu sistema de avaliação encontram-se perfeitamente alinhados com os objetivos a atingir pelos alunos no final do período letivo. Os conceitos são apresentados, discutidos, aplicados e avaliados no contexto das aulas. Isto garante aos alunos uma base sólida de conhecimentos fundamentais para entenderem de forma aprofundada os desafios que se colocam a esta área de conhecimento. Por outro lado, para que o estudo não fique restrito a modelos conceptuais, nas aulas práticas são apresentados casos de estudo concretos e implementadas soluções para problemas reais recorrendo as ferramentas apropriadas. Esta combinação garante uma formação aos alunos que lhes permite conhecer os fundamentos científicos essenciais a uma boa compreensão do tema bem como a capacidade de eles se adaptarem a mudanças tecnológicas constantes. O objetivo é formar profissionais conhecedores das técnicas, ferramentas, e do estado da arte. Nesta unidade curricular os objetivos de aprendizagem estão centrados na capacidade de definir e organizar um projeto de aplicação web. Através do desenvolvimento do próprio projeto, os alunos adquirem as competências necessárias para cumprir os objetivos.
Bibliografia:
Docker: Up & Running: Shipping Reliable Containers in Production, Sean P. Kane & Karl Matthias, 2018. O'Reilly.
Mastering Go: Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures, 2nd Edition, Mihalis Tsoukalos, 2019. Expert Insight.
React Cookbook: Recipes for Mastering the React Framework, David Griffiths & Dawn Griffiths, 2021. O'Reilly.
Introdução ao desenvolvimento moderno para a web - do front-end ao back-end: uma visão global! / Filipe Portela, FCA, 2018. ISBN: 978-972-722-897-3.
Typescript - o javascript moderno para criação de aplicações / Luís Abreu, FCA, 2017. ISBN: 978-972-722-864-5
Marty Hall and Larry Brown, Core Servlets and JavaServer Pages, Available free at http://pdf.coreservlets.com/
Microsoft, Web Application Architecture Guide, 2008.
Andrea Del Bene, Wicket user guide, 2013
Robin Nixon, Learning PHP, MySQL & JavaScript, 2014