LINGUAGENS DE PROGRAMAÇÃO - Sintaxe e semântica; Análise léxica e sintática; Nomes, vinculações e escopos; Tipos de dados; Expressões e sentenças de atribuição; Estruturas de controle no nível sentença; Subprogramas; Tipos de dados abstratos; Linguagens de programação funcional;
ALGORITMOS E ESTRUTURA DE DADOS - Recursividade; Complexidade de algoritmos; Notação O; Algoritmos ótimos; Listas lineares; Pilhas; Filas; Árvores: binárias de busca e balanceadas; Lista de prioridades; Algoritmos de ordenação; Busca digital; e Processamento de cadeias.
ALGORITMOS E ESTRUTURA DE DADOS - Recursividade; Complexidade de algoritmos; Notação O; Algoritmos ótimos; Listas lineares; Pilhas; Filas; Árvores: binárias de busca e balanceadas; Lista de prioridades; Algoritmos de ordenação; Busca digital; e Processamento de cadeias. (Parte 2)
Programação orientada a objetos; Concorrência; Tratamento de exceções e eventos;
Linguagem JAVA: classes e objetos, instruções de controle, métodos, arrays e arraylists, strings, caracteres e expressões regulares, arquivos, fluxos e serialização de objetos, classes e métodos genéricos e multithreading;
Linguagem Python 3: sintaxe, execução, declaração, atribuição, operadores, métodos, escopo de variáveis, tipos de dados, estrutura de controle e funções, tipos de dados de coleção, programação orientada a objeto.