Conceitos de Programação Orientada a Objeto: abstração de dados, encapsulamento, herança, vinculação dinâmica e polimorfismo. Construção de classes, objetos e métodos. Classes abstratas e interfaces. Tratamento de exceções. Implementação de interfaces gráficas. Utilização de Frameworks. Linguagens e ambientes para o desenvolvimento de software Orientados a Objetos. Conectividade com banco de dados.
As aulas são teóricas e práticas (em laboratório), e as avaliações são em laboratório.
A parte teórica consiste, basicamente, de exposições e discussões, dentro de sala de aula, nos moldes convencionais.
A parte prática consiste em programação por parte dos estudantes, assistida por tutoriais, pela Internet e, em último caso, pelo professor.
Desafios (questões relativamente difíceis) serão propostos aos alunos, dentro do assunto vigente, e o aluno que enviar primeiro a resposta ganhará pontos extras na avaliação.
Early Bird
Consistent Metaphor
Mistake
Read Before Write
BARNES, David; KÖLLING, Michael. Objects First with Java - A Practical Introduction using BlueJ. Prentice Hall, 2002.
SIERRA, Kathy; BATES, Bert. Use a Cabeça - Java. Editora Alta Books
MORELLI, Ralph; WALDE, Ralph. Java, Java, Java - Object Oriented Problem Solving. Prentice Hall.
JARC, Duane J. Learning Java Through Aplications - A Graphical Aproach. Charles River Media
BARNES, David J.; KÖLLING Michael; Programação Orientada a Objetos com Java. Editora Pearson Prentice Hall. 2004. 367 pgs.
Santos, Rafael. Introdução à Programação Orientada a Objetos usando Java. Editora Campus. 2003. 319 pgs
FURLAN, José Davi. Modelagem de Objetos Através da UML: Análise e Desenho Orientados a Objeto. Editora Makron Books.1998. São Paulo.329pgs.
BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. Editora Campus. 2002, 286 pgs
QUATRANI, Terry. Modelagem Visual com Rational Rose 2000 e UML. Editora Ciência Moderna. 2001, 206 pgs.
Não use apostilas. Leia os livros.
Blue J (ferramenta oficial do curso e do livro-texto)
Projetos da 4a Edição do Livro Texto (esta é a edição disponível na Biblioteca)
Documentação Java 1.6 (pode usar mais recente, se desejar)
NetBeans (para quem já souber programar e quiser uma ferramenta mais profissional - e bem pouco educacional - de programação)
Grupo de Usuários Java (forum para ver e escrever algumas dúvidas)
Seguem alguns textos úteis ao longo do curso - textos, exercícios dirigidos, roteiros de aula etc. A ideia não é a de substituir o conteúdo do livro texto ou de qualquer outra obra, mas a de introduzir alguns tópicos em linguagem mais informal ou complementar um ou outro assunto.
Texto 1 ou As Loiras e a Orientação a Objetos - texto introdutório com discussão informal, na forma de diálogo, sobre a orientação a objetos.
Texto 2 ou Strings e Afins - utilização de objetos Strings e objetos de entrada e saída.
Texto 3 ou Datas e Mais - utilização de objetos para manipulação de datas, de diretórios e criação de janelas.
Definindo Classes - texto básico sobre como definir classes e suas partes constituintes
Agrupando Objetos (1)- Relação de um para muitos com vetores de tamanho fixo
Agrupando Objetos (2) - Porque vetores de tamanho fixo são um pé no saco e há coisa mais interessante que eles para a maioria dos casos
Agrupando Objetos (3) - exercícios com coleções de tamanho flexível
Agrupando Objetos (4) - mais exercícios com coleções de tamanho flexível
Tipos abstratos - o que tem a ver um carneiro, uma caixa e um príncipe alienígena curioso com tipos abstratos de dados? Tudo, absolutamente tudo.
Herança de Implementação (1) - herança à moda antiga com classes de interface gráfica. Depois do Android, talvez não seja mais à moda antiga
Herança de Implementação (2) - roteiro para a implementação de uma interface gráfica que interaja com um modelo pré-implementado de Calculadora. Trata de herança de implementação e herança de tipo e do tipo de interface gráfica melhor que existe: a interface burra
Sobrescrição de Métodos - roteiro prático com código semi-implementado para treinar sobrescrição