1) Breve Historico e Paradigma(s) Adotado(s) 2) Tipos de Dados Disponiveis 3) Definicao de Variaveis/Constantes 4) Gerenciamento de Memoria 5) Expressoes e Comandos 5.1) Diferenciacao entre expressoes e comandos 5.2) Principais 5.3) Especificos 6) Modularizacao 6.1) Subprogramas 6.1.1) Funcoes/Procedimentos 6.1.2) Passagem de Parametros 6.2) TADs 6.2.1) Ocultamento de informacao 6.2.2) Implementacao e Uso 7) Polimorfismo 7.1)Tipos de Polimorfismo 7.1.1) Coercao 7.1.2) Sobrecarga 7.1.3) Parametrico 7.1.4) Inclusao 8) Forma de Tratamento de Excecoes 9) Como programar usando tipos abstratos de dados 10) Como programar orientado a objetos