Disciplina Curricular
Programação com Objectos PO
Licenciatura Bolonha em Engenharia Informática e de Computadores - Alameda - LEIC-A 2021
Contextos
Grupo: LEIC-A 2021 > 1º Ciclo > Área Principal
Período:
Peso
6.0 (para cálculo da média)
Pré-requisitos
Bons conhecimentos numa linguagem de programação imperativa tipificada: C, por exemplo.
Objectivos
Conhecer: o paradigma de programação com objectos, as suas vantagens, inconvenientes e limitações; o paradigma dos padrões de desenho, tanto no desenvolvimento, como na refactorização de aplicações. Competências a adquirir: domínio do paradigma da programação com objectos, nomeadamente dos conceitos de encapsulamento, abstracção, herança e polimorfismo; capacidade de utilizar uma linguagem de programação baseada em objectos; capacidade de utilização de padrões de desenho; e domínio da escrita de testes de avaliação.
Programa
Programação com Objectos com Linguagens Java e C++. Introdução aos objectos: definição; longevidade; classes; métodos; programas. Regras de codificação. Operadores, expressões e controlo de fluxo em Java: precedências; atribuição; operadores; conversões de tipos; literais; controlo de execução. Construção de objectos: iniciação e limpeza; construtores; métodos sobrecarregados; "this"; colector de lixo. Organização de código: interface vs. implementação; bibliotecas; acesso aos membros. Herança e composição: desenvolvimento incremental; "final"; carregamento de classes. Polimorfismo; Classes abstractas e interfaces. Classes internas. Tipos paramétricos. Enumerações; Excepções; Colecções; Entradas/saídas; Informação de tipos em tempo de execução. Introdução à modelação em UML. Diagramas de classes e de sequência. Introdução aos padrões de desenho. Discussão e aplicação de padrões de desenho: Singleton, Null Object, Composite, State, Template Method, Strategy, Decorator, Factory Method, Abstract Factory, Command, Observer, Visitor, Adapter, Façade, Proxy.
Metodologia de avaliação
Projeto: 50%, com nota mínima de 9,5 valores, realizado em 3 entregas (UML, intermédia e final) com teste prático final individual. Exercícios de laboratório: 50%, com nota mínima de 9,5 valores. O processo de avaliação é o mesmo para todos os alunos, incluindo trabalhadores-estudantes. Em época especial os exercícios de laboratório são substituídos por um exame de 180min.
Componente de Competências Transversais
Identificação, análise a aplicação de comportamentos.
Componente Laboratorial
Exercícios de programação individual (N), sem consulta, todas as semanas em aula. Apenas os melhores N-3 são levados em consideração
Componente de Programação e Computação
Análise e modelação de sistemas. Programação orientada por objetos. Identificação e aplicação de padrões de desenho.
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.