Projeto de bloco: Desenvolvimento de um planejamento de projeto de software detalhado, utilizando RUP ou XP, e respectivas métricas.
Análise e Projetos de Sistemas Orientados a Objetos: Modelagem de Sistemas, Orientação a Objetos (OO) e Unified Modeling Language (UML); OO: Classes, Objetos, Herança, Polimorfismo e Interfaces; Diagramas UML: Uso, Classes, Objetos, Sequência, Comunicação, Temporal, Estados e Atividades; Design Patterns: Criação, Estrutura e Comportamento; Três Estudos de Caso: 1. Relacionamento entre as fases do projeto e os diagramas; 2. Levantamento de requisitos, análise e projeto; 3. Elaboração de diagramas e geração de código.
Programação Orientada a Objetos com Java: Tipos primitivos, Operadores aritméticos, Compostos, Relacionais e Lógicos; Condições e Repetições, Arrays unidimensionais, Bidimensionais e Multidimensionais; Java Virtual Machine e Garbage Colector; Conversão de Objetos - Tipos Primitivos; String, StringBuilder e StringBuffer; File IO, Formatação, Parsing, Internacionalização e Resource Files; Criação de Classes, Herança, Polimorfismo, Interfaces, Enums e Criação de Componentes; Classes Abstratas, Internas e Anônimas; Tratamento de Erros, Exceptions, Assertivos e Teste Unitário - Junit.
Acesso a Dados, Coleções e Interface Gráfica em Java: Java Database Connectivity: JDBC; JDBC: Conexão com Bancos de Dados, Consulta, Atualização, Deleção e Inserção de Dados; JDBC: Tipos de Dados Especiais: Data, Hora, Blobs, Clobs; JDBC: Cursores, Batch e Relatórios (JReport e IReport); Coleções: Collection, Set, Map, List, Comparable e Comparator; Generics; Swing: Componentes Básicos, Layouts, Look and feel; Swing: Tratamento de Eventos e Componentes Avançados.
Projeto de bloco: Desenvolvimento de um projeto em UML e sua respectiva implementação em Java.