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
- Introdução à linguagem Java
- Herança, polimorfismo, classes abstratas e interfaces
- Coleções Java, tipos parametrizados e enumerações
- Expressões lambda e streams
- Análise e desenho centrado em objetos com UML
- Introdução aos padrões de desenho (GRASP e GoF)
- Tratamento de erros e entradas/saídas
- Testes, manutenção e depuração (JUnit)
Métodos de Ensino
As aulas teóricas são expositivas em que se apresentam os conceitos elementares de programação com recurso a exemplos e demonstrações, usando 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 são preenchidas pela exposição e resolução de problemas, de pequena e média escala, com análise, desenho e implementação de soluções, usando a linguagem Java.
Os estudantes desenvolvem um projeto que é o elemento aglutinador dos conteúdos aprendidos ao longo da unidade curricular, que permite analisar, desenhar e implementar uma aplicação que caracteriza uma situação próxima da realidade, e adquirir competências de trabalho autónomo e em equipa.
A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como repositório de material pedagógico e didático de apoio à aprendizagem, bem como de plataforma de agendamento, divulgação e promoção de atividades complementares e de gestão dos elementos de avaliação.
Bibliografia
Essencial
- F. Mário Martins, Java 8 - POO + Construções Funcionais, FCA, 2017.
- C. Larman, P. Liguori, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall
Complementar
- David J. Barnes, Michael Kölling, Objects First with Java A Practical Introduction using BlueJ, 6th edition, Pearson Education, 2016.
- F. Mário Martins. Projetos de POO em Java. FCA, 2014
- Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates, Head First Design Patterns, O'Reilly, 2004
- B.Garcia. Mastering Software Testing with JUnit 5: Comprehensive guide to develop high quality Java applications, Packt Publishing, 2017