Programação Aplicada de Computadores – 2014/2
Ementa: introdução à programação orientada a objetos: abstrações de dados, classes e objetos, atributos e métodos, re-uso de código por composição, re-uso por herança, poliformismo, classes abstratas. Interfaces gráficas: noções de programação concorrente (processos, threads), programação orientada a eventos, componentes de programação gráfica (janelas, painéis, botões, menus), gerenciamento de layout de interfaces gráficas. Utilização de bibliotecas gráficas.
Objetivo: habilitar os alunos para modelar programas segundo o paradigma da orientação a objetos e implementar programas orientados a objetos na linguagem de programação Java, incluindo o desenvolvimento de interfaces gráficas.
Metodologia: aulas expositivas e aulas práticas em laboratório.
Dia/horário das aulas: segundas e quartas-feiras, das 11h às 13h.
Local: CT-2, sala 1 (aulas teóricas), CT-2, LCEE/sala 16 (aulas práticas).
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 2014/1;
- 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;
- Novidades do Java 8;
- Desenvolvimento de interfaces gráficas em Java:
- Noções de programação concorrente;
- Desenvolvimento de interface gráfica com AWT/Swing.
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:
O sistema de avaliação teve que ser alterado em 17/11/2014 para adequar-se ao calendário efetivo do curso, pois o conteúdo básico de Java tomou mais tempo que o planejado inicialmente. O aluno que desejar utilizar a fórmula anterior de cálculo — (P + T1 + T2) / 3 — poderá fazê-lo, se isso lhe trouxer benefício.
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.
Materiais disponíveis online:
- Apostila Programação Orientada a Objetos em Java (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).
O livro do Bruce Eckel pode ser obtido 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/2 inicia em 18/08/2014 e termina em 15/12/2014. A semana de provas finais 2014/2 vai de 16 a 19/12/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 |
---|---|
18/08/2014 | Não haverá aula – Semana de planejamento do DEL. |
20/08/2014 | Não haverá aula – Semana de planejamento do DEL. |
25/08/2014 | Primeira aula do curso. |
08/09/2014 | Não haverá aula – Aniversário de Vitória. |
15/09/2014 | Não haverá aula – Escola de Verão em Ontologias (Nemo). |
17/09/2014 | Não haverá aula – Escola de Verão em Ontologias (Nemo). |
30/09/2014 | Prazo para definição das duplas para trabalhos práticos. |
20/10/2014 | Prova Parcial 01. |
07/12/2014 | Prazo para entrega do trabalho prático – primeira etapa (correção automática). |
15/12/2014 | Prazo para apresentação do trabalho prático – entrevista. |
17/12/2014 | Prova Final. |
Download de material
- Apresentação do curso;
- O Paradigma Orientado a Objetos;
- Modelagem OO com UML;
- Lista de exercícios OO/UML 01: Disque Rango / solução questão 1;
- Lista de exercícios OO/UML 02: 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;
- Introdução ao curso de Interface Gráfica e Banco de Dados (ignorar a parte de Banco de Dados): slides;
- Componentes GUI – Parte I: slides / arquivos / exercícios resolvidos;
- Componentes GUI – Parte II: slides / arquivos / exercícios resolvidos;
- Componentes GUI – Parte III: slides / arquivos / exercícios resolvidos;
- Projeto JavaSwing, feito no Eclipse durante as aulas de interface gráfica. Ao importá-lo no Eclipse, ajustar a JVM no item Java Build Path das propriedades do projeto).
Trabalho prático
Encontra-se disponível a especificação do trabalho prático, para que os grupos comecem a implementar o software Java a ser entregue como parte da avaliação da disciplina.
Assim que o a implementação do trabalho estiver no ponto de produzir resultados, o grupo pode começar a comparar seus resultados com os resultados do professor, presentes no script de testes automático, conforme explica a seção 4.2 da especificação.