Unidade Curricular: | Código: | ||
Projeto de Aplicações Web | 1126PAWB | ||
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: | |
Segundo 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. 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 |