Roteiros de Estudo

basico algoritmos, machine-learning, criptografia recursos

Roteiros de Estudo

O guia não precisa ser lido em ordem. Abaixo, percursos por objetivo — cada um levando de umas poucas horas a algumas semanas, conforme a profundidade desejada.

Base mínima para computação

Se você vai fazer um percurso, faça este. Ele cobre o que aparece em praticamente qualquer contexto técnico.

  1. Lógica proposicional
  2. Teoria dos conjuntos
  3. Funções
  4. Indução matemática
  5. Análise assintótica
  6. Grafos: fundamentos
  7. Ponto flutuante

O último item costuma surpreender quem espera uma lista só de teoria. Ele está aqui porque é a fonte mais comum de defeitos silenciosos em código.

Preparação para entrevistas técnicas

Foco no que efetivamente é cobrado.

  1. Análise assintótica
  2. Recorrências
  3. Combinatória
  4. Grafos: fundamentos
  5. Árvores
  6. Caminhos mínimos
  7. Princípio da casa dos pombos
  8. Espaço amostral e eventos

Aprendizado de máquina

O percurso mais longo, e o que exige mais álgebra linear.

  1. Espaços vetoriais
  2. Matrizes e operações
  3. Produto interno e normas
  4. Autovalores e autovetores
  5. SVD
  6. Derivadas
  7. Variáveis aleatórias e esperança
  8. Distribuições
  9. Probabilidade condicional e Bayes
  10. Concentração e algoritmos aleatorizados

Criptografia e segurança

  1. Divisibilidade e algoritmo de Euclides
  2. Aritmética modular
  3. Teorema chinês do resto
  4. Fermat, Euler e testes de primalidade
  5. RSA
  6. Princípio da casa dos pombos — para o ataque do aniversário
  7. Classes P, NP e reduções

Computação gráfica

  1. Espaços vetoriais
  2. Matrizes e operações
  3. Transformações lineares
  4. Determinante
  5. Produto interno e normas
  6. Interpolação e integração numérica
  7. Ponto flutuante

Computação científica

  1. Ponto flutuante
  2. Erro e condicionamento
  3. Sistemas lineares
  4. Decomposições LU e Cholesky
  5. Ortogonalidade e fatoração QR
  6. Raízes e método de Newton
  7. Séries de Taylor
  8. Interpolação e integração numérica

Compiladores e linguagens

  1. Lógica proposicional
  2. Relações
  3. Autômatos e linguagens formais
  4. Máquina de Turing e decidibilidade
  5. Coloração de grafos — alocação de registradores
  6. Árvores

Como estudar

Três recomendações que valem para qualquer percurso.

Faça as contas à mão pelo menos uma vez. Cada página tem um exemplo trabalhado. Refazê-lo no papel, sem olhar, é o que separa reconhecer de saber.

Implemente o algoritmo. Os trechos de código do guia são curtos de propósito. Digitá-los e rodá-los com entradas próprias revela detalhes que a leitura esconde.

Volte depois. Conceitos de matemática raramente são absorvidos numa passada. Reler um mês depois, tendo usado a ideia no meio-tempo, é mais produtivo que reler no dia seguinte — é a prática de recuperação espaçada, e ela tem base experimental sólida.

Referências

  1. Kenneth H. Rosen (2019). Discrete Mathematics and Its Applications. McGraw-Hill.
  2. Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein (2009). Introduction to Algorithms. MIT Press.
  3. Michael Sipser (2012). Introduction to the Theory of Computation. Cengage Learning.