Programação Centrada em Objetos
Código
0105886Créditos ECTS
6Objetivos
1. Conhecer o paradigma de programação orientado aos objetos, as suas vantagens, inconvenientes e limitações.
2. Saber analisar problemas e especificar soluções que respondam aos requisitos com qualidade, através da construção de modelos utilizando notações padrão.
3. Conhecer e saber utilizar padrões de desenho.
4. Saber implementar soluções no paradigma orientado a objetos.
Programa
1. Análise e desenho centrado em objetos
1.1. Modelo de casos de uso e modelo de domínio
1.2. Desenho para a atribuição de responsabilidades (diagramas UML de interação e de classes)
1.3. Introdução aos padrões de desenho (GRASP e GoF)
2. Conceitos fundamentais da programação centrada em objetos, utilizando a linguagem Java como suporte
2.1 Herança, polimorfismo, classes abstratas e interfaces
2.2 Coleções Java, tipos parametrizados e enumerações
2.3 Expressões lambda e streams
2.4 Tratamento de erros e entradas/saídas
Métodos de Ensino
Nas aulas teóricas apresentam-se os conceitos elementares de análise, desenho e programação centrada em objetos, com recurso a exemplos e demonstrações e analisam-se e discutem soluções a concretizar nas aulas práticas ou durante o estudo autónomo, utilizando a linguagem de notação UML e a linguagem de programação Java.
As aulas práticas laboratoriais funcionam articuladas com as aulas teóricas e com as sugestões de atividades a realizar durante o tempo de estudo autónomo, promovendo a resolução de problemas, de pequena e média escala, com análise, desenho e implementação de soluções, usando a linguagem Java e notação UML.
Os estudantes desenvolvem um projeto em grupo que é o elemento aglutinador dos conteúdos aprendidos ao longo da unidade curricular, que permite analisar, desenhar e implementar pequenos programas numa situação mais próxima da realidade, e desenvolver competências intrapessoais e interpessoais para o trabalho autónomo e em equipa.
A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como componente digital do ambiente de aprendizagem, disponibilizando informação e documentação relevante do funcionamento da UC, espaços de comunicação geral sobre a UC, atividades de aprendizagem propostas, individuais e em grupo, com os respetivos recursos e avaliação.
AVALIAÇÃO:
Em cada edição da unidade curricular, a avaliação, contínua e periódica, é constituída por uma componente individual teórico-prática que tem peso entre 50% e 70% e uma componente de projeto em grupo que tem peso entre 30% e 50%, ambas com nota mínima de 10 valores.
Bibliografia
Essencial
- Larman, C. (2004) Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall. ISBN: 978-013-148-906-6
- Martins, F. (2017) Java 8 - POO + Construções Funcionais, FCA. ISBN: 978-972-722-838-6
- Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994) Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley. ISBN 0-201-63361-2.
Complementar
- Martins, F. (2014). Projetos de POO em Java. FCA. ISBN: 978-972-722-792-1
- Schildt, H., Coward, D. (2024). Java: The Complete Reference (Thirteenth Edition), McGraw Hill. ISBN: 978-126-506-270-5
Método de Avaliação
De acordo com Métodos de Ensino - 100 %