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.

  1. Cada equipe terá até 20 minutos para apresentar o projeto.
  2. Após apresentação, o professor fará perguntas individuais aos membros da equipe
  3. As notas serão individuais, baseadas nos seguintes itens:
    1. Código (obediência aos 10 mandamentos): 5,0 pontos
    2. Documentação (comentários + javadoc): 2,0 pontos
    3. 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:

  1. Use e abuse de Interfaces
  2. Use pouca herança
  3. Exceções são essenciais
  4. Cada classe deve estar em algum pacote
  5. Nomes coerentes de variáveis, atributos e métodos (seguindo as convenções de nomenclaturas)
  6. Modificadores de acesso (public, private, protected) e palavras-chave (final, static) usados de forma coerente
  7. Não esqueça do conceito de encapsulamento
  8. Comente o seu código!
  9. Use javadoc
  10. Teste o seu código!

Algumas DICAS para os projetos:

MATERIAL DE AULA:

SOLUÇÕES DOS EXERCÍCIOS: