Trabalha divisão e conquista, programação dinâmica, algoritmos gulosos, busca com retrocesso e aleatorização. Problemas práticos ajudam a reconhecer qual estratégia se ajusta a cada estrutura.