1. 1. Motivação
1. 2. Conceito de linguagem de programação (LP)
1. 3. Classes e gerações
1. 4. Escolha de uma LP
1. 5. Elementos sintáticos e semânticos
1. 5. 1. Sintaxe x semântica
1. 5. 2. Abstração e amarração
1. 5. 2. 1. Objetos de dados
1. 5. 2. 2. Tipos de dados
1. 5. 2. 3. Tipos abstratos de dados
1. 5. 3. Controle de fluxo de execução
1. 5. 4. Gramáticas livres de contexto
1. 6. Tratamento de exceções
1. 7. Tradutores de LPs: conceitos básicos
2.1. Introdução
2.2. Programação imperativa
2.1.1. Variáveis, atribuição
e repetição
2.1.2. Comandos
3.1. Introdução
3.2. Classe e objeto
3.3. Hierarquia de classes: herança e reusabilidade
3.4. Programação orientada a objetos
3.1.1. Método e mensagem
3.1.2. Polimorfismo
4.1. Introdução
4.2. Funções matemáticas e funções em LPs
4.3. Programação funcional
4.3.1. "Pattern-matching"
4.3.2. Avaliação postergada
4.3.3. Funções de mais alta
ordem
4.4. Estudo de caso
5.1. Introdução
5.2. Programação concorrente
5.2.1. Processos
5.2.2. Comunicação e sincronismo
5.2.3. Cooperação e competição
5.3. Estudo de caso