IFPE 2018 LPOOED
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.
Sites com recursos visuais de Estruturas de Dados:
APOSTILAS:
PROGRAMA:
- Conceitos básicos
- Estrutura de Dados
- Array - Lista de Exercício
- Matriz - Lista de Exercício
- ArrayList - Código, Exercício (Bibliotech)
- LinkedList - Código
- Listas, Filas e Pilhas (questão 1068 do URI)
- Ordenação -> Comparator (exemplo)
- Conjunto
- Mapas
- Orientação a Objetos
- Classe, objetos e métodos
- Pacotes
- Modificadores de acesso e atributos de classe
- Encapsulamento
- Herança
- Polimorfismo
- Classe Abstrata
- Interfaces - Lista de exercício
- Exceções => acontece no dia-a-dia (aprenda a tratá-las! Inclusive em bons sistemas!)
- Jar
- Javadoc - Lista de exercício sobre pacotes, jar e 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:
PROJETO:
Cada equipe deverá escolher um tema de projeto (ver lista de temas na tabela abaixo).
- Equipes de projetos de sistemas: até 03 (três) membros;
- Equipes de projetos de jogos: até 02 (dois) membros.
- 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 (implementação das funcionalidades e obediência aos 10 mandamentos): 8,0 pontos
- Documentação (comentários + javadoc): 2,0 pontos
NOTAS E COMENTÁRIOS DOS PROJETOS
OBS: Todos os sistemas poderão ser feitos utilizando interface por linha de comando (ex: usando Scanner) ou interface gráfica (JavaFX).
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)
- Tutorial sobre o uso de Scanner em Java
- Como trabalhar com datas
- Como usar Enum
- Como enviar e-mail em java