Programação Aplicada de Computadores – 2014/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: segundas e quartas-feiras, das 17h às 19h.
Local: Ufes (Av. Fernando Ferrari, 514 – Goiabeiras – Vitória, ES), CT-9, sala 104 (aulas teóricas) / CT-2, LCEE/sala 16 em paralelo com CT-9, LabGrad/sala 105 (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.);
- Material do curso 2013/2;
- 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 horas-aula 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).
Ambos os livros do Bruce Eckel podem ser obtidos mais diretamente na página de downloads de livros da MindView. É possível chegar a ela usando os links acima, porém este link é mais direto.
Cronograma / Datas importantes
O período 2014/1 inicia em 01/04/2014 e termina em 31/07/2014. A semana de provas finais 2014/1 vai de 01 a 07/07/2014. 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 |
---|---|
02/04/2014 | Primeira aula do curso. |
21/04/2014 | Feriado (Tiradentes). |
28/04/2014 | Feriado (Nossa Senhora da Penha). |
04/06/2014 | Prova parcial. |
23/06/2014 | Jogo do Brasil na Copa do Mundo. |
08/07/2014 | Entrega do trabalho Java. |
09/07/2014 | Semifinal da Copa do Mundo. |
28/07/2014 | Entrega do trabalho C++. |
28/07/2014 | Aula 30 (completando 60 horas-aula). Após este dia só haverá aula se houver necessidade de reposição. |
Download de material
- Apresentação do curso;
- O Paradigma Orientado a Objetos;
- Modelagem OO com UML;
- Exercícios de modelagem OO com UML: Clínica Médica;
- 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;
- Lista de Exercícios Java 01 (Partes 1 a 4 do curso): lista / exercícios resolvidos;
- Slides do curso de Java – parte 05: Reuso de Classes;
- 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;
- Código-fonte de exemplo de "tokenização" em C++;
- Encontra-se disponível o nemo-utils-cpp. Para obtê-lo como projeto no Eclipse e executar o programa de testes, siga os seguintes passos:
- Abra o Eclipse C/C++ e clique em File – Import…;
- Na pasta Git, selecione Projects from Git e clique Next;
- Selecione URI e clique Next;
- No campo URI, preencha https://github.com/nemo-ufes/nemo-utils-cpp.git e clique Next;
- A opção master deve estar marcada. Apenas clique Next;
- Verifique onde o projeto será salvo no campo Directory, alterando-o caso deseje. Clique Next;
- Deixe a opção Import existing projects selecionada e clique Next;
- Na lista Projects o projeto nemo-utils-cpp deve ter aparecido. Clique Finish;
- Clique com o botão direito no projeto e escolha Run As… – Local C/C++ Application.
- Exemplo de Makefile.
Trabalho prático
Arquivos disponíveis: