Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Ciências e Tecnologias da Informação
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
--
Objetivos Gerais / Objectives
Este módulo desempenha um papel crucial ao permitir que os formandos apliquem e consolidem os conhecimentos adquiridos nos módulos anteriores, utilizando Java como tecnologia de backend e React.js para o desenvolvimento do frontend de uma aplicação web de média dimensão. A proposta é desafiadora e estimulante, exigindo a integração de diversos conceitos explorados anteriormente, incluindo HTML, CSS, JavaScript, e agora, Java no lado do servidor e React.js no lado do cliente. Os formandos serão motivados a conceber e implementar uma aplicação funcional que não apenas demonstre proficiência técnica, mas também uma compreensão abrangente dos princípios de design e boas práticas de desenvolvimento específicas dessas tecnologias. Este projeto prático não só consolida os conhecimentos, como também promove a capacidade dos formandos para enfrentar desafios mais complexos, capacitando-os para futuros empreendimentos no desenvolvimento web usando Java e React.js.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
"OA1 - Implementar uma Aplicação Full-Stack OA2 - Utilizar as Principais Tecnologias Web OA3 - Entender os Princípios de Design de aplicações WEB OA4 - Analisar e Resolver Problemas Complexos OA5 - Integrar conceitos de módulos anteriores OA6 - Trabalhar em ambientes colaborativos OA7 - Apresentar e Demonstrar Funcionalidades de Aplicações"
Conteúdos Programáticos / Syllabus
"CP1- Início do Projeto e Definição de Requisitos CP2- Configuração do Ambiente e Desenvolvimento do Backend CP3- Desenvolvimento do Backend com Java CP4- Desenvolvimento do Frontend com React.js CP5- Implementação de Funcionalidades Específicas CP6- Otimização e Preparação para Lançamento CP7- Comunicação com o cliente"
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
"O programa de estudos foi concebido para se alinhar com os resultados de aprendizagem especificados, garantindo uma experiência educativa abrangente. CP1 apoia diretamente o OA1, lançando as bases para a implementação de uma aplicação full-stack. Também promove o OA4 através da análise de problemas durante a recolha de requisitos. CP2 aborda o OA2 através da utilização de tecnologias web essenciais, enquanto CP3 aprofunda esta compreensão, reforçando tanto o OA2 como o OA5 através da integração de conhecimentos prévios. CP4 reforça o OA1 e o OA2, focando-se em tecnologias web modernas. CP5 promove o OA4 ao encorajar a resolução de problemas complexos. CP6 alinha-se com o OA3, enfatizando os princípios de design no desempenho da aplicação. Por fim, a CP7 apoia o OA6 ao fomentar as competências de colaboração e o OA7 através da apresentação das funcionalidades da aplicação, garantindo uma experiência de aprendizagem holística."
Avaliação / Assessment
"O processo de avaliação desta unidade curricular está estruturado de forma a avaliar o progresso dos alunos e os resultados da aprendizagem através de uma combinação de avaliações intermédias e da apresentação de um projeto final feito em grupos de 3 alunos. 1. Avaliações intermédias (Sprints) O processo de avaliação inclui quatro avaliações intermédias, designadas por ""sprints"", que, no seu conjunto, representam 40% da nota total. Cada sprint foi concebido para avaliar etapas específicas do ciclo de desenvolvimento do projeto. Estrutura do Sprint: 1 Planeamento do projeto e definição de requisitos - Foco: Clareza dos objectivos do projeto, recolha de requisitos e conceitos iniciais de design. - Critérios de avaliação: Completude dos requisitos, análise de viabilidade e princípios iniciais de design. 2 Configuração do ambiente e desenvolvimento inicial de back-end - Foco: Configurar o ambiente de desenvolvimento e implementar as principais funcionalidades de backend. - Critérios de avaliação: Precisão da configuração, qualidade do código e funcionalidade dos componentes de back-end. 3 Desenvolvimento e integração de front-end - Foco: Desenvolvimento da interface do utilizador e integração com serviços de backend. - Critérios de avaliação: Design da interface do utilizador, capacidade de resposta e integração eficaz com APIs de backend. 4 Implementação de funcionalidades específicas e otimização - Foco: Finalização das funcionalidades da aplicação e otimização do desempenho. - Critérios de avaliação: Completude da funcionalidade, técnicas de otimização aplicadas e desempenho geral da aplicação. Cada sprint será avaliado com base numa rubrica que avalia as contribuições individuais e do grupo, assegurando a responsabilidade e a colaboração. 2. Projeto final e apresentação O projeto final e a apresentação constituem 60% da nota global. Esta componente avalia o culminar do trabalho do projeto, incluindo o produto final e a capacidade de comunicar eficazmente as suas características e funcionalidades. Avaliação do Projeto Final: - Funcionalidade do produto: Avaliação da aplicação concluída, incluindo todas as características implementadas, desempenho e experiência do utilizador. - Qualidade do código: Avaliação da base de código para legibilidade, manutenção e aderência às melhores práticas. - Documentação: Qualidade e integridade da documentação do projeto, incluindo manuais do utilizador e documentação técnica. Apresentação final: - Competências de apresentação: Clareza, organização e envolvimento durante a apresentação. - Demonstração de funcionalidades: Capacidade de apresentar eficazmente as funcionalidades da aplicação e de responder a perguntas. - Colaboração em equipa: Evidência de trabalho em equipa e contribuições individuais durante a apresentação. O processo de avaliação foi concebido para fornecer feedback contínuo e oportunidades de melhoria ao longo do ciclo de vida do projeto."
Metodologias de Ensino / Teaching methodologies
"A metodologia de ensino para esta unidade curricular baseada em projectos está centrada na Aprendizagem Baseada em Projectos (PBL), que enfatiza o envolvimento dos alunos através de projectos do mundo real. Esta abordagem promove o pensamento crítico, a colaboração e a criatividade, alinhando-se com os resultados de aprendizagem descritos no programa da UC. Componentes principais da metodologia de ensino: - Aprendizagem centrada no aluno: Os alunos participam ativamente na sua aprendizagem, investigando questões complexas e abertas relevantes para os seus interesses e problemas do mundo real. Esta autonomia aumenta a motivação e o empenhamento. - Ambiente de colaboração: Os alunos trabalham em grupos, promovendo o trabalho em equipa e as competências de comunicação. As tarefas de colaboração são concebidas para refletir ambientes profissionais, onde diversas perspectivas contribuem para a resolução de problemas. - Integração de conhecimentos: O currículo incentiva os alunos a aplicar conceitos de módulos anteriores, facilitando uma compreensão mais profunda das principais tecnologias da Web e dos princípios de design através da implementação prática. - Processo iterativo: A metodologia inclui avaliações formativas ao longo do projeto, permitindo aos alunos refletir sobre o seu progresso, receber feedback e fazer os ajustes necessários. Esta abordagem iterativa melhora a capacidade de resolução de problemas. - Apresentação pública: No final do projeto, os alunos apresentam o seu trabalho a um público real, demonstrando a sua compreensão e aplicação dos conceitos aprendidos, o que reforça o OA7. Esta metodologia não só apoia os resultados da aprendizagem, como também prepara os alunos para desafios futuros."
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
"As metodologias de ensino utilizadas nesta unidade curricular estão estreitamente alinhadas com os resultados de aprendizagem, assegurando uma experiência educativa coerente que promove o desenvolvimento de competências e a integração de conhecimentos. Alinhamento das Metodologias de Ensino com os Resultados de Aprendizagem OA1: A abordagem de aprendizagem baseada em projectos facilita a experiência prática no desenvolvimento de uma aplicação full-stack. Os alunos participam em projectos do mundo real, permitindo-lhes aplicar os conhecimentos teóricos em cenários práticos. OA2: O currículo enfatiza a aprendizagem ativa através da utilização de tecnologias web essenciais no desenvolvimento de backend (Java) e frontend (React.js). Essa integração garante que os alunos adquiram proficiência em ferramentas e estruturas essenciais. OA3: Os princípios de design são integrados nas tarefas do projeto, incentivando os alunos a considerar a usabilidade e a estética enquanto desenvolvem as suas aplicações. Esta abordagem promove o pensamento crítico sobre as escolhas de design. OA4: Os alunos deparam-se com problemas complexos e abertos ao longo do projeto, promovendo competências analíticas e estratégias inovadoras de resolução de problemas à medida que trabalham em colaboração para encontrar soluções. OA5: O currículo está estruturado de forma a basear-se em conhecimentos prévios, assegurando que os alunos podem relacionar novos conceitos com material previamente aprendido, melhorando a sua compreensão global. OA6: O trabalho de grupo é uma componente central, promovendo o trabalho de equipa e as competências de comunicação essenciais para o sucesso em contextos profissionais. Esta abordagem colaborativa alinha-se com os resultados de aprendizagem centrados nas competências interpessoais. OA7: O requisito de os alunos apresentarem os seus projectos reforça a sua capacidade de articular o seu trabalho e demonstrar as características da aplicação, assegurando que podem comunicar eficazmente informações técnicas. No geral, as metodologias de ensino utilizadas nesta unidade criam um quadro coeso que apoia a obtenção dos resultados de aprendizagem especificados, preparando os alunos para desafios futuros nas suas carreiras académicas e profissionais."
Observações / Observations
--
Bibliografia Principal / Main Bibliography
"J Sharma, Ashish Sarin, ""Getting Started with Spring Framework"", Ed. Createspace Independent Publishing Platform, 2017. Laurence Lars Svekis, Maaike Van Putten, Rob Percival, JavaScript from Beginner to Professional, Packt Publishing, 2021. Mikhail Sakhniuk and Adam Boduch, ""React and React Native (5th Edition)"", Packt Publishing, 2024"
Bibliografia Secundária / Secondary Bibliography
J Sharma, Ashish Sarin, "Getting Started with Spring Framework", Ed. Createspace Independent Publishing Platform, 2017.
Data da última atualização / Last Update Date
2024-12-04