Disciplina
Programação com Objectos
Área
Área Científica de Metodologia e Tecnologias da Programação > Programação
Activa nos planos curriculares
LEIC-T 2021 > LEIC-T 2021 > 1º Ciclo > Área Principal > Programação com Objectos
GENI > GENI > 1º Ciclo > Área Principal > Percursos > Fundamentos para Engenharia de Telecomunicações e Informática > Programação com Objectos
LETI 2021 > LETI 2021 > 1º Ciclo > Área Principal > Programação com Objectos
LEIC-A 2021 > LEIC-A 2021 > 1º Ciclo > Área Principal > Programação com Objectos
MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Fundamentos de Engenharia Informática > Programação com Objectos
MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Fundamentos de Engenharia Informática > Programação com Objectos
MEE 2006 > MEE 2006 > 2º Ciclo > Opções > C1 > Programação com Objectos
LERC 2006 > LERC 2006 > 1º Ciclo > Ciências da Engenharia Informática > Programação com Objectos
LEIC-A 2006 > LEIC-A 2006 > 1º Ciclo > Ciências da Engenharia Informática > Programação com Objectos
LEIC-T 2006 > LEIC-T 2006 > 1º Ciclo > Ciências da Engenharia Informática > Programação com Objectos
Nível
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.
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
2.5 h/semana
1.5 h/semana
112.0 h/semestre
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.
Pré-requisitos
Bons conhecimentos numa linguagem de programação imperativa tipificada: C, por exemplo.
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
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.
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.
Componente de Competências Transversais
Identificação, análise a aplicação de comportamentos.
Bibliografia
Principal
Prentice Hall, New Jersey, ISBN 0131872486 (4ª Ed.)
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
Secundária
The Unified Modeling Language User Guide
Grady Booch, James Rumbaugh, Ivar Jacobson
Addison Wesley Professional (2ª Ed.)
Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
ISBN-10: 0-201-72148-1, ISBN-13: 978-0-201-72148-5, Addison-Wesley Professional (4ª Ed.)