| Unidade Curricular: | Código: | ||
| Projeto de Aplicações Web | 834PAWB | ||
| Ano: | Nível: | Curso: | Créditos: |
| 1 | Mestrado | Engenharia Informática (Computação Móvel) | 6 ects |
| Período Lectivo: | Língua de Instrução: | Nº Horas: | |
| Primeiro Semestre | Português/Inglês | 78 | |
| 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 | |||