Cronograma de aulas

DONE Aula 01 - Introdução e motivação <2022-06-07 ter 19:00>

Material da aula:

Resumo da aula:

Apresentamos o protocolo covid adotado pela UnB, e o plano de ensino do curso.

DONE Aula 02 - Análise de algoritmos <2022-06-09 qui 19:00>

Material da aula:

Resumo da aula:

Iniciamos com a análise da correção do algoritmo de busca sequencial dando ênfase para a construção e prova da invariante de laço. Em seguida, analisamos a complexidade de tempo da busca sequencial (melhor e pior casos) considerando o custo de cada linha do pseudocódigo. O mesmo foi feito para o algoritmo de ordenação por inserção, e no final vimos a ideia inicial de como fazer uma análise mais geral, e não baseada no custo de cada linha (análise assintótica). Exercícios sugeridos: 89 e 90.

DONE Aula 03 - A correção de algoritmos <2022-06-14 ter 19:00>

Material da aula:

  • Notas de aula (capítulo 5, a partir da página 70)
  • Capítulo 3, Cormen et.al. 4ed (2022)

Resumo da aula:

Iniciamos com comentários sobre o exercício que estabelece a correção do algoritmo BubbleSort, que ficou como um dos exercícios da semana valendo pontos (atividade postada no Teams). Em seguida, refizemos a análise assintótica, no melhor e pior casos, do algoritmo de ordenação por inserção (insertion sort). Por fim, prosseguimos comentando as notas de aulas até o exercício 93. A gravação da aula está dividida em duas partes por consequência de queda da conexão.

Feriado <2022-06-16 qui>

DONE Aula 04 - A notação assintótica <2022-06-21 ter 19:00>

Material da aula:

  • O mesmo da aula anterior.

Resumo da aula:

Finalizamos a apresentação sobre notação assintótica, e fizemos alguns exemplos.

CANCELLED Aula 05 <2022-06-23 qui 19:00>

DONE Aula 06 - Recursão - parte 1 <2022-06-28 ter 19:00>

Material da aula:

  • Leitura: Seção 5.1 das notas de aula.
  • Fundamentos de Git e GiyHub: link
  • Projeto: link para a criação dos grupos

Resumo da aula:

Iniciamos com uma breve discussão sobre o exercício da semana passada, e iniciamos o desenvolvimento da prova de correção da busca sequencial recursiva em Coq.

DONE Aula 07 - Recursão - parte 2 <2022-06-30 qui 19:00>

Material da aula:

Resumo da aula:

Fizemos uma descrição geral do projeto, e formalizamos a complexidade do pior caso da busca sequencial recursiva no Coq.

DONE Aula 08 - Equações de recorrência <2022-07-05 ter 19:00>

Material da aula:

Resumo da aula:

Equações de recorrência e apresentação da primeira versão do Teorema Mestre.

DONE Aula 09 - Equações de recorrência <2022-07-07 qui 19:00>

Material da aula:

Resumo da aula:

Apresentamos a ideia geral da prova do Teorema Mestre, e resolvemos algumas relações de recorrência. Por fim, iniciamos uma formalização do algoritmo mergesort.

  • Link para a gravação da aula: Teams - Aula 09
  • Anotações da aula: pdf
  • Link do repositório com o arquivo inicial da formalização em Coq: GitHub

DONE Aula 10 - Divisão e Conquista <2022-07-12 ter 19:00>

Material da aula:

  • Seção 6.1 das notas de aula.
  • Seções 4.4 e 4.5, Cormen et.al. 4ed (2022)

Resumo da aula:

Fizemos uma breve recapitulação do Teorema Mestre com a resolução de um exercício. Em seguida, prosseguimos com a formalização do algoritmo mergesort em Coq.

DONE Aula 11 - Divisão e Conquista <2022-07-14 qui 19:00>

Material da aula:

  • Seção 6.2 das notas de aula.
  • Capítulo 7, Cormen et.al. 4ed (2022)

Resumo da aula:

Apresentamos o algoritmo quicksort e fizemos a análise assintótica do pior caso.

DONE Aula 12 - Heapsort <2022-07-19 ter 19:00>

Material da aula:

  • Capítulo 7 das notas de aula.
  • Capítulo 6, Cormen et.al. 4ed (2022)

Resumo da aula:

Apresentamos o algoritmo heapsort e fizemos a análise assintótica do pior caso.

DONE Aula 13 - Aula de exercícios <2022-07-21 qui 19:00>

Material da aula:

  • Exercícios pré-prova: pdf

Resumo da aula:

Comentamos sobre os exercícios disponibilizados acima.

  • Link para a gravação da aula: Teams - aula 13
  • Anotações da aula: pdf
  • Soluções dos exercícios pré-prova: pdf

Reunião anual da SBPC <2022-07-26 ter>

Reunião anual da SBPC <2022-07-28 qui>

DONE Aula 14 - Primeira prova <2022-08-02 ter 19:00>

Gabarito da prova:

  • Questões: pdf
    • Soluções: ( 1a ) ( 1b ) ( 1c ) ( 2 )

DONE Aula 15 - Comentários sobre a prova e o projeto <2022-08-04 qui 19:00>

Material da aula:

Resumo da aula:

Fizemos comentários gerais sobre o resultado da prova, e avançamos no desenvolvimento da formalização do algoritmo mergesort que visa servir de modelo para o desenvolvimento do projeto.

DONE Aula 16 - Comentários sobre o projeto <2022-08-09 ter 19:00>

Material da aula:

Resumo da aula:

Fizemos uma estruturação da pontuação do projeto. O arquivo disponibilizado mostra as possibilidades de pontuação.

DONE Aula 17 - Comentários sobre o projeto <2022-08-11 qui 19:00>

Material da aula:

Resumo da aula:

DONE Aula 18 - Ordenação em tempo linear <2022-08-16 ter 19:00>

Material da aula:

Resumo da aula:

Estudamos os chamados algoritmos de classificação (counting-sort e radix-sort), e avançamos na formalização do algoritmo mergesort.

DONE Aula 19 - Algoritmos em grafos e projeto <2022-08-18 qui 19:00>

Material da aula:

Resumo da aula:

DONE Aula 20 - A correção do algoritmo BFS <2022-08-23 ter 19:00>

Material da aula:

DONE Aula 21 - O algoritmo DFS <2022-08-25 qui 19:00>

Material da aula:

Resumo da aula:

Semana Universitária <2022-08-30 ter>

Semana Universitária <2022-09-01 qui>

DONE Aula 22 - NP-completude <2022-09-06 ter 19:00>

Material da aula:

Resumo da aula:

DONE Aula 23 - NP-completude <2022-09-08 qui 19:00>

Material da aula:

Resumo da aula:

DONE Aula 24 - NP-completude <2022-09-13 ter 19:00>

Avisos:

  • Ignorar gravação feita ontem no canal geral (feita por engano)

Material da aula:

Resumo da aula:

DONE Aula 25 - NP-completude <2022-09-15 qui 19:00>

Material da aula:

Resumo da aula:

Discutimos detalhadamente a redução polinomial de 3-SAT para VERTEX-COVER. Infelizmente, no finalzinho da conversa houve uma queda de energia. Amanhã publicarei material para compensar a interrupção ocorrida no final da aula.

DONE Aula 26 - Segunda prova <2022-09-20 ter 19:00>

Gabarito da prova (pdf)