Programação III – 2013/1
Ementa: Programação orientada a objetos: classes e objetos, atributos e métodos, especificadores de acesso, herança, classes e métodos abstratos, polimorfismo, classes e métodos genéricos, tratamento de exceções, tratamento de eventos, estudo das linguagens de programação orientadas a objeto C++ e Java.
Objetivo: Habilitar os alunos para modelar programas segundo o paradigma da orientação a objetos e implementar programas orientados a objetos nas linguagens de programação Java e C++.
Metodologia: Aulas expositivas e aulas práticas em laboratório.
Dia/horário das aulas: quartas e sextas-feiras das 11h às 13h.
Local: Ufes, CT-9, sala 202 (aulas teóricas) / LabGrad (aulas de laboratório)
Carga horária semestral: 60 horas.
Mais informações:
- Programa detalhado;
- Sistema de avaliação;
- Bibliografia;
- Cronograma / datas importantes;
- Download de material do curso (slides, exercícios, etc.);
- Agende um horário para atendimento.
Programa detalhado
- Orientação a Objetos:
- Paradigmas de desenvolvimento: estruturado vs. orientado a objetos;
- Princípios fundamentais, conceitos básicos e avançados;
- Modelagem orientada a objetos com UML;
- Programação Orientada a Objetos em Java:
- Tipos, variáveis e operadores;
- Estruturas de controle, programação “procedural” em Java;
- Classes e objetos, reuso de classes, visibilidade, polimorfismo;
- RTTI e interfaces, classes internas;
- Manipulação de exceções;
- Manipulação de arquivos e fluxos de dados;
- Utilitários;
- Tipos genéricos;
- Programação Orientada a Objetos em C++:
- De C a C++: retro-compatibilidade da nova linguagem;
- Classes e objetos, reuso de classes;
- Sobrecarga de operadores;
- Funções virtuais e polimorfismo;
- Gabaritos (tipos genéricos);
- Tratamento de exceções.
Sistema de avaliação
A avaliação será constituída de 1 prova (P) valendo 10 e 2 trabalhos computacionais (T1 e T2) valendo 10 cada. A nota parcial será obtida com a seguinte fórmula:
Alunos que obtiverem nota parcial igual ou superior a 7 não farão prova final, tendo sua nota final igual à nota parcial. Demais alunos terão sua nota final calculada pela média aritmética simples entre a nota parcial e a nota da prova final e deverão obter nota final igual ou superior a 5 para serem aprovados.
Nota: o aluno que tiver mais de 25% (vinte e cinco por cento) de faltas, contadas em relação ao número de aulas previstas para a disciplina, será privado do direito de prestar exame final e estará, independentemente de qualquer outra condição, reprovado. (Art. 51 Regimento CT, art. 104 Regimento Geral Ufes)
Bibliografia
Livros:
- R. P. Silva. UML2 em Modelagem Orientada a Objetos. Visual Books, 2007;
- M. Fowler. UML Essencial. Bookman, 2005;
- C. Larman. Utilizando UML e Padrões, 3a Edição. Bookman, 2008;
- R. Santos. Uma Introdução à Programação Orientada a Objetos usando Java. Campus/Elsevier, 2003;
- K. Sierra, B. Bates. Use a Cabeça! Java. Alta Books, 2005;
- P. Deitel, H. Deitel. Java – Como Programar, 8a Edição. Pearson Prentice Hall, 2010;
- P. Deitel, H. Deitel. C++ Como Programar, 5ª Edição. Pearson Education, 2010;
- B. Stroustrup. Princípios e Práticas de Programação C++. Bookman, 2011.
Materiais disponíveis online:
- Apostila Programação Orientada a Objetos em Java (Flávio M. Varejão);
- Apostila Programação Orientada a Objetos em C++ (Berilhes B. Garcia, Flávio M. Varejão);
- Apostila do curso FJ-11: Java e Orientação a Objetos (Caelum);
- Livro “Thinking in Java”, 3a edição (Bruce Eckel);
- Livro “Thinking in C++”, 2a edição, volume 1 (Bruce Eckel).
Cronograma / Datas importantes
O período 2013/1 inicia em 16/05/2013 e termina em 11/09/2013. A semana de provas finais 2003/1 vai de 12 a 18/09/2013. A tabela abaixo resume eventos importantes durante o curso. O programa de aulas com o cronograma completo do curso é exibido em seguida.
Data | Descrição |
---|---|
24/05/2013 | Não haverá aula |
31/05/2013 | Não haverá aula |
21/06/2013 | Prova parcial |
05/08/2013 | Prazo para entrega do trabalho Java |
04/09/2013 | Prazo para entrega do trabalho C++ |
06/09/2013 | Não haverá aula |
11/09/2013 | Não haverá aula |
Download de material
- Apresentação do curso;
- O Paradigma Orientado a Objetos;
- Modelagem OO com UML;
- Slides do curso de Java – parte 01: Introdução;
- Slides do curso de Java – parte 02: Tipos, variáveis e operadores;
- Slides do curso de Java – parte 03: Estruturas de controle e programação básica;
- Slides do curso de Java – parte 04: Classes e objetos;
- Slides do curso de Java – parte 05: Reuso de classes;
- Lista de Exercícios Java 01 (Partes 1 a 4 do curso): lista / exercícios resolvidos;
- Slides do curso de Java – parte 06: Polimorfismo;
- Slides do curso de Java – parte 07: RTTI e interfaces;
- Slides do curso de Java – parte 08: Classes internas;
- Lista de Exercícios Java 02 (Partes 5 a 8 do curso): lista / exercícios resolvidos;
- Slides do curso de Java – parte 09: Exceções;
- Slides do curso de Java – parte 10: Arquivos e fluxos;
- Slides do curso de Java – parte 11: Utilidades;
- Slides do curso de Java – parte 12: Tipos genéricos;
- Lista de Exercícios Java 03 (Partes 9 a 12 do curso): lista / exercícios resolvidos;
- Curso Rápido de C++: slides;
- Lista de Exercícios C++: lista / exercícios resolvidos.