O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:
1. Compreender os conceitos fundamentais do paradigma de orientação de objetos;
2. Implementar ferramentas de software utilizando uma linguagem orientada a objetos;
3. Continuar os estudos em programação avançada.
1.1. Paradigma de programação orientada a objetos
1.2. Diagrama de classes
1.3. Origens e Características da linguagem
1.4. Ambiente de desenvolvimento e execução
1.5. Expressões e comandos
2.1. Conceito de abstração
2.2. Classes e instâncias
2.2.1. Atributos
2.2.2. Métodos
2.3. Encapsulamento
2.3.1. Declaração e visibilidade de atributos
2.3.2. Declaração e visibilidade de métodos
3.1. Relacionamentos entre Classes
3.2. Construtores
3.3. Sobrecarga
3.5. Atributos e métodos de classe
3.6. Auto-referência
3.7. Modularização (agrupamento de classes relacionadas)
4.1. Hierarquia de classes
4.2. Classes abstratas
4.3. Polimorfismo
4.4. Conversão dinâmica de tipos
5.1. Gerando exceções
5.2. Criando exceções
5.3. Asserções