Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Ciências e Tecnologias da Programaçã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
Dotar os alunos de conhecimentos e prática de programação em JavaScript. O objetivo é proporcionar uma introdução abrangente ao React.js, uma biblioteca JavaScript amplamente utilizada para o desenvolvimento de interfaces de utilizador interativas. Ao longo do curso, os alunos serão orientados na compreensão da arquitetura geral do React.js, incluindo conceitos-chave como componentes, props e estados. Serão abordadas as melhores práticas de organização e estruturação de componentes, focando numa abordagem modular e escalável. Através de exercícios práticos, os formandos terão a oportunidade de aplicar esses conhecimentos, preparando-se para desafios reais no desenvolvimento de aplicações 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
"Após a conclusão desta unidade curricular o aluno deverá ficar apto a: OA1. Explicar os conceitos fundamentais para a programação em JavaScript. OA2. Compreender os conceitos do React.js. OA3. Compreender os mecanismos de consultar dados . OA4. Desenvolver uma aplicação Web em React.js. O método de ensino a utilizar consiste na alternância entre momentos de exposição e de demonstração que visam introduzir os conceitos, e momentos práticos onde os estudantes realizarão a aplicação dos mesmos em trabalhos e atividades propostas quer em aula, quer de forma autónoma, fora das aulas. A compatibilidade entre os objetivos e o método de ensino fica assim assegurada, uma vez que os objetivos da aprendizagem consistem essencialmente na compreensão de conceitos e sua posterior aplicação. "
Conteúdos Programáticos / Syllabus
"CP1. Fundamentos de JavaScript CP2. Introdução ao React.js, JSX e TypeScript CP3. Componentes React e propriedades – aplicação “single-page”; CP4. Apresentação condicional de conteúdo; CP5. Ciclo de vida dos componentes; CP6. Estado e sincronização de componentes - Hooks useState e useEffect; CP7. Contextos – Hook useContext; CP8. Routers React e desenvolvimento de websites com múltiplos URLs; CP9. Alimentação de conteúdos a partir de REST API; CP10. Registo, login e logout de utilizadores; CP11. Bibliotecas de componentes React– PrimeReact e reactstrap."
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
"LO1: CP1 introduz os alunos aos conceitos fundamentais de JavaScript, que é essencial para o desenvolvimento de aplicações em React.js. L02: CP2 e CP3 fornecem conhecimentos fundamentais de React.js, incluindo a sua sintaxe (JSX) e integração com TypeScript. LO3: CP9 foca em como recuperar e manipular dados de APIs RESTful, uma habilidade crítica para o desenvolvimento web moderno. L04: - O CP4 permite a renderização dinâmica com base no estado da aplicação. - O CP5 ensina os alunos a gerir eficazmente o ciclo de vida dos componentes. - CP6 fornece ferramentas para gerenciar estado e efeitos colaterais em componentes funcionais. - O CP7 permite a gestão de estado entre componentes sem passagem excessiva de propriedades. - O CP8 introduz a navegação e as aplicações multi-páginas. - O CP10 cobre características essenciais para aplicações web seguras. - O CP11 (PrimeReact e Reactstrap) expõe os alunos a componentes pré-construídos que aumentam a eficiência do desenvolvimento."
Avaliação / Assessment
A classificação final da UC será a média aritmética das classificações obtidas numa sucessão de mini-projetos práticos (4) realizados individualmente ao longo da disciplina, e que terão alguma continuidade entre si.
Metodologias de Ensino / Teaching methodologies
"Serão utilizadas as seguintes metodologias de ensino (MEAs): MEA1: Ilustrativa, para ilustrar os conceitos teóricos em contextos reais e através de aulas expositivas. MEA2: Discussão com apresentação e discussão de trabalhos. MEA3. Participativa através do desenvolvimento de tarefas e projectos. MEA4. Experimental, através do desenvolvimento e exploração de possíveis soluções de software. MEA5. Auto-estudo: trabalho autónomo do aluno."
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 (MEAs) utilizadas neste curso são coerentes com os resultados de aprendizagem (LOs) e o plano de curso (CP), como se segue: Metodologia Ilustrativa (MEA1): As aulas teóricas serão utilizadas para ilustrar os conceitos teóricos em contextos reais, o que se alinha com o OA1 (Explicar os conceitos fundamentais para a programação em JavaScript) e OA2 (Compreender os conceitos de React.js). Esta metodologia abrange os fundamentos do JavaScript (CP1) e a introdução ao React.js, JSX e TypeScript (CP2). Metodologia de discussão (MEA2): A apresentação e discussão de trabalhos ajudará os alunos a compreender os conceitos mais profundamente e a aplicá-los a cenários práticos. Esta metodologia suporta o OA1, OA2 e OA4 (Desenvolver uma aplicação web em React.js). Pode ser utilizada em vários tópicos, tais como componentes React (CP3), apresentação condicional de conteúdos (CP4) e ciclo de vida de componentes (CP5). Metodologia participativa (MEA3):O desenvolvimento de tarefas e projectos envolverá os alunos ativamente no processo de aprendizagem, o que se alinha com o OA4. Esta metodologia pode ser aplicada a tópicos como estado e sincronização de componentes (CP6), contextos (CP7) e routers React (CP8). Metodologia Experimental (MEA4): O desenvolvimento e a exploração de possíveis soluções de software permitirão aos alunos aplicar os seus conhecimentos e ganhar experiência prática. Esta metodologia apoia o OA3 (Compreender os mecanismos de consulta de dados) e o OA4. Pode ser utilizada em tópicos como alimentação de conteúdos a partir da API REST (CP9), registo de utilizadores, login e logout (CP10) e utilização de bibliotecas de componentes (CP11). Metodologia de auto-estudo (MEA5): O trabalho autónomo do aluno incentiva a aprendizagem independente e reforça os conceitos abordados no curso. Esta metodologia suporta todos os resultados de aprendizagem (OA1, OA2, OA3 e OA4) e pode ser aplicada a vários tópicos ao longo do plano do curso (CP1 a CP11)."
Observações / Observations
--
Bibliografia Principal / Main Bibliography
"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
"Jon Duckett, ""JavaScript and JQuery: Interactive Front-End Web Development"", Ed. John Wiley and Sons, Inc., 2017 Sebastian Springer, ""React: The Comprehensive Guide"", Rheinwerk Computing, 2023 Robin Wieruch, The Road to React (2024 Edition), independently published, 2024."
Data da última atualização / Last Update Date
2024-12-04