Unidade Curricular:Código:
Projeto de Aplicações Web834PAWB
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:
Primeiro 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 (i.e., não full-stack). 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 + 50% Projeto
As notas obtidas anteriormente devem ser positivas (>= 9,5) para serem consideradas para a determinação da nota final. Se alguma das componentes não for positiva a unidade curricular não será concluída (cf. regulamentos da UFP).
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:
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