Flávio L. C. de Moura

Home / Research / Events / Teaching (Portuguese)

Projeto e Análise de Algoritmos (2025-2)

Plano de Ensino (pdf)

Objetivos

Compreender os fundamentos teóricos para a análise de algoritmos por meio de ferramentas matemáticas que permitam a construção de soluções eficientes para problemas usuais nas aplicações computacionais. Ao final do curso o aluno dever ser capaz de:

  1. Analisar a complexidade, quanto aos recursos de tempo e espaço, de algoritmos utilizando a análise assintótica;
  2. Provar a correção de algoritmos;
  3. Conhecer os paradigmas de divisão e conquista, algoritmos gulosos e programação dinâmica para projetos de algoritmos;
  4. Compreender os fundamentos da teoria de NP-completude.

Conteúdo programático

  • Fundamentos matemáticos para a análise de algoritmos;
    • Indução;
    • Crescimento de funções;
    • Notação assintótica;
    • Relações de recorrência.
  • Análise assintótica de algoritmos;
  • Paradigmas de projeto de algoritmos;
    • Projeto por indução;
    • Divisão e conquista;
    • Programação dinâmica;
    • Algoritmos gulosos.
  • Fundamentos de complexidade computacional.
    • Redução entre problemas;
    • As classes P e NP;
    • Problemas NP-completos.

Metodologia de ensino

O conteúdo será abordado por meio de aulas expositivas estruturadas da seguinte forma:

  1. Leituras dirigidas;
  2. Exercícios semanais (via Teams);
  3. Avaliações escritas.

Avaliação

A avaliação será composta das seguintes partes:

  1. Duas provas escritas individuais e sem consulta:
    1. Prova 1 (01/out/2025) - 40 pontos;
    2. Prova 2 (03/dez/2025) - 40 pontos;
  2. Exercícios semanais - 20 pontos;
  3. Projeto (opcional) - 20 pontos .

Para ser aprovado o aluno deve cumprir simultaneamente os seguintes itens:

  • Frequência maior ou igual a 75%;
  • Obter pelo menos 50 pontos no total.

A menção final é definida como a seguir:

Menção Pontos
SS (Superior) 90 – 100
MS (Médio Superior) 70 – 89
MM (Médio) 50 – 69
MI (Médio Inferior) 30 – 49
II (Inferior) 01 – 29
SR (Sem Rendimento) 00 ou mais de 25% de faltas

Bibliografia

  1. Referência principal: cite:&cormenIntroductionAlgorithms2022.
  2. Referências complementares: cite:&baaseComputerAlgorithmsIntroduction1999;&levitinIntroductionDesignAnalysis2012;&manberIntroductionAlgorithmsCreative1989;&roughgardenAlgorithmsIlluminatedPart2017;&roughgardenAlgorithmsIlluminatedPart2018;&roughgardenAlgorithmsIlluminatedPart2019;&toscani2012algoritmos;&sipserIntroductionTheoryComputation1996;&brassard.

bibliographystyle:plain
bibliography:zotLib.bib

Cronograma

Aula Data Assunto Arquivos
1 [2025-08-18 seg] Introdução e Motivação pdf
2 [2025-08-20 qua] A correção de algoritmos pdf
3 [2025-08-25 seg] Invariantes de laço  
4 [2025-08-27 qua]    
5 [2025-09-01 seg]    
6 [2025-09-03 qua]    
7 [2025-09-08 seg]    
8 [2025-09-10 qua]    
9 [2025-09-15 seg]    
10 [2025-09-17 qua]    
--- [2025-09-22 seg] Semana Universitária  
--- [2025-09-24 qua] Semana Universitária  
11 [2025-09-29 seg] Revisão para a Prova 1  
12 [2025-10-01 qua] Prova 1  
13 [2025-10-06 seg]    
14 [2025-10-08 qua]    
15 [2025-10-13 seg]    
16 [2025-10-15 qua]    
17 [2025-10-20 seg]    
18 [2025-10-22 qua]    
--- [2025-10-27 seg] Ponto facultativo  
19 [2025-10-29 qua]    
20 [2025-11-03 seg]    
21 [2025-11-05 qua]    
22 [2025-11-10 seg]    
23 [2025-11-12 qua]    
24 [2025-11-17 seg]    
25 [2025-11-19 qua]    
26 [2025-11-24 seg]    
27 [2025-11-26 qua]    
28 [2025-12-01 seg] Revisão para a Prova 2  
29 [2025-12-03 qua] Prova 2  

Author: Flávio L. C. de Moura

Email: flaviomoura@unb.br

Created: 2025-08-21 qui 11:12