POOED 2016 integrado manhã
Programação Orientada a Objetos e Estrutura de Dados
Olá, seja bem-vindo!
Nesta disciplina você irá aprender os fundamentos da Orientação a Objetos e das Estruturas de Dados na linguagem java! A disciplina terá um foco entre 70% prático e 30% teórico.
MONITOR: Guilherme Silva <guilherme.dna06@gmail.com>
RESPOSTAS DAS QUESTÕES DO URI
- 1172 (versão 1, versão 2)
RESPOSTAS DOS EXERCÍCIOS NA SALA
- Aula 01/03/2016 (questão média de notas)
PROGRAMA:
- Conceitos básicos
- Parâmetros
- Recursividade
- Estrutura de Dados
- Array - Lista de Exercício
- Matriz - Lista de Exercício
- ArrayList - Código
- LinkedList - Código
- Listas, Filas e Pilhas (questão 1068 do URI)
- Ordenação
- Conjunto
- Mapas
- Orientação a Objetos - Lista de exercícios 1
- Classe, objetos e métodos
- Pacotes
- Modificadores de acesso e atributos de classe
- Encapsulamento
- Herança
- Polimorfismo
- Classe Abstrata
- Interfaces
- Exceções => acontece no dia-a-dia (aprenda a tratá-las! Inclusive em bons sistemas!)
- Jar
- Javadoc
- Classe String, System, Math, Object, Double, Long
- Casting de Referências (seção 14.4)
- Leitura/Escrita de dados: Scanner e Printscreen (15.6)
AVALIAÇÃO:
Notas das provas e exercícios
PROJETO:
Cada equipe deverá escolher um tema de projeto (ver lista de temas na tabela abaixo). Cada equipe poderá ter até 03 (três) participantes.
- Cada equipe terá até 20 minutos para apresentar o projeto.
- Após apresentação, o professor fará perguntas individuais aos membros da equipe
- As notas serão individuais, baseadas nos seguintes itens:
- Código (obediência aos 10 mandamentos): 5,0 pontos
- Documentação (comentários + javadoc): 2,0 pontos
- Apresentação: 3,0 pontos
NOTAS E COMENTÁRIOS DOS PROJETOS
OBS: Todos os sistemas deverão ser feitos utilizando interface por linha de comando (ex: usando Scanner).
Os 10 Mandamentos:
- Use e abuse de Interfaces
- Use pouca herança
- Exceções são essenciais
- Cada classe deve estar em algum pacote
- Nomes coerentes de variáveis, atributos e métodos (seguindo as convenções de nomenclaturas)
- Modificadores de acesso (public, private, protected) e palavras-chave (final, static) usados de forma coerente
- Não esqueça do conceito de encapsulamento
- Comente o seu código!
- Use javadoc
- Teste o seu código!
Algumas DICAS para os projetos:
- Leitura do teclado e escrevendo em arquivo de texto: classes Scanner e Printscreen (seção 15.6)
- Como enviar e-mail em java
- Como trabalhar com datas
MATERIAL DE AULA:
- Tutorial sobre o uso de Scanner em Java
- Apostila k19 (capítulo 6 - Array)
- Apostila Caelum - OO (capítulos 4 a 10) OU https://www.caelum.com.br/apostila-java-orientacao-objetos
- Apostila Caelum - Estrutura de Dados OU https://www.caelum.com.br/apostila-java-estrutura-dados
- Sistema Bancário - versão 0.1 (.java)
SOLUÇÕES DOS EXERCÍCIOS: