Esta UC visa proporcionar aos alunos os conhecimentos e práticas fundamentais acerca dos princípios, conceitos, modelos e principais técnicas relacionadas com a programação baseada no paradigma dos objetos. Na abordagem aos conteúdos programáticos selecionados vai ser privilegiada a análise crítica do novo paradigma, procurando sempre a perceção da correta colocação dos problemas e a sua adequada resolução através de programação por objetos, incentivando-se o uso de novas abordagens e aperfeiçoamento das existentes.
Programação por Objetos. Objetos. Classes.
Abstração. Encapsulamento. Herança. Polimorfismo.
Os estudantes deverão ser capazes de:
- compreender os conceitos básicos da programação orientada a objetos;
- compreender os mecanismos de modularidade e reutilização de software;
- saber modelar um problema usando técnicas orientadas a objetos;
- saber usar uma linguagem orientada a objetos para codificar um problema.
Introdução ao desenvolvimento orientado a objetos.
Metodologias de análise e projetos orientados a objetos.
Conceitos básicos de classes, interfaces e objetos.
Hierarquias de abstração (classe-classe, classe-objeto, objeto-objeto).
Atributos, métodos e controlo de acesso.
Abstração, encapsulamento, herança e polimorfismo.
Tratamento de exceções.
Pense em Python, 2.ª edição, de Allen B. Downey (O’Reilly), tradução de Sheila Gomes. ISBN 978-85-7522-508-0, Editora Novatec. Disponível livremente em licença Creative Commons: https://penseallen.github.io/PensePython2e/
E-learning.
O regime de avaliação preferencial é o de avaliação contínua, constituída pela realização de 2 e-folios (trabalhos escritos em formato digital), ao longo do semestre letivo, e de um momento final de avaliação e-fólio Global (e-fólioG), a ter lugar no final do semestre, com peso de, respetivamente, 40% e 60% na classificação final.
Pré-requisito: UC 21178 Laboratório de Programação.