2023 Q2

MCTA003-17 - Análise de Algoritmos - Diurno

Professora: Carla Negri Lintzmayer, carla.negri@ufabc.edu.br

piadinha


🚨 Avisos importantes (fique atento sempre!)

[5/out] 🔥🔥🔥🔥🔥 As notas finais, pós-rec, estão disponíveis na planilha. Cheque seu e-mail para mais informações!

[20/set] ATENÇÃO!! A prova de recuperação acontecerá na sala S-212-0.
[25/ago] Avisos (semi-)finais:
[20/ago] ATENÇÃO!! Havia um erro no horário do cronograma. A Prova 2 será às 8h da manhã e não às 10h!
[17/ago] A sétima entrega de exercícios, prevista para o dia 18/ago (amanhã), pode também ser entregue no dia 22/ago.
[15/ago] Haverá um atendimento no dia 22, após a aula (é aula de reposição, por isso na terça-feira!), das 10h às 12h.
[4/ago] Há um exemplo extra de programação dinâmica disponível no cronograma!!
[1/ago] Como não haverá aula nem atendimento no dia 9/ago, haverá um atendimento extra no dia 11/ago, no período da tarde: das 14h às 15h30, na sala da professora. O atendimento da manhã, no dia 11/ago, está mantido.
[31/jul] As notas da prova 1 estão disponíveis na seção de notas. A vista das provas poderá ser feita às sextas-feiras, das 10h às 12h, ou às quartas-feiras, das 8h às 10h, na sala da professora.
[21/jul] ATENÇÃO!!!! Conforme informe feito pela Reitoria, não haverá aula no dia 2/ago.
Por causa disso, precisei alterar todo o cronograma, "empurrando" todas aulas e também todas as entregas de listas.
Particularmente, a nova data da prova 2 é 24/ago (** por enquanto! **)
[21/jul] O atendimento da próxima quarta, dia 26/jul, será, excepcionalmente, das 13h às 14h apenas.
[19/jul] Aos alunos que requisitaram sub da P1 (por e-mail): verifiquem seus e-mails.
[19/jul] As notas da terceira entrega de exercícios está disponível na seção de notas.
[7/jul] As notas da segunda entrega de exercícios bem como uma contagem de faltas até o momento estão disponíveis na seção de notas.
[5/jul] Atenção! A terceira entrega de exercícios, prevista para o dia 7/jul, pode também ser feita no dia da prova, 12/jul.
[23/jun] As notas das listas de exercícios estão disponíveis na seção de notas. As listas serão/foram entregues na aula de hoje. Não se esqueça de pedir ajuda sobre o que errou!
[21/jun] A segunda entrega de exercícios, prevista para o dia 23/jun, pode também ser entregue no dia 28/jun, entre as 10h e as 10h30, na sala de aula, para o professor Maycon Sambinelli.
[21/jun] No dia 1/jul, dia da reposição, haverá atendimento entre 9h e 10h e entre 12h e 13h, na própria sala da aula (S-212-0).
[21/jun] Nos dias 28/jun e 30/jun não haverá atendimento da professora.
[21/jun] As listas corrigidas serão devolvidas aos alunos, para que possam aprender com os problemas. Até o final do quadrimestre, devem ser devolvidas à professora, pois são itens de avaliação.
[21/jun] Atenção! Modifiquei algumas coisas na parte de entregas das listas de exercícios. Confira!
[13/jun] Atenção! As entregas das listas que valem nota devem ser feitas durante os horários das aulas!
[7/jun] Horário de atendimentos dos monitores foram definidos.
[7/jun] Atenção para mudança da sala de aula! As aulas serão sempre na sala S-214-0 a partir de hoje.
[5/jun] Os horários de atendimento foram definidos.
[2/jun] Atenção! Devido à aula cancelada do dia 2/jun, precisei modificar algumas coisas no nosso cronograma.
Ponto 1: a data da Prova 1 foi adiada (estava prevista para o dia 7/jul e agora será no dia 12/jul).
Ponto 2: as datas de entrega das listas também foram modificadas (adiadas).
[1/jun] A aula de amanhã, 2/jun, foi cancelada (informe da reitoria via e-mail institucional).
Isso vai atrapalhar nosso cronograma, que será modificado em breve. Conversamos sobre isso na próxima aula, de quarta-feira.
[24/mai] Verifique a seção Recomendação!!!
[24/mai] Responda a esse formulário antes das aulas começarem para podermos definir os melhores horários de atendimento extra-classe.
[24/mai] Site no ar. Estude-o como se o seu conteúdo fosse ser cobrado em avaliação.


📝 Dias, horários e locais das aulas

Quartas-feiras, das 10h às 12h, na sala S-214-0.

Sextas-feiras, das 8h às 10h, na sala S-214-0.



🙋 Dias, horários e locais dos atendimentos

Segundas-feiras, das 17h às 19h, na sala de atendimentos do 5º andar, torre 2.

Quartas-feiras, das 13h30 às 15h45, na sala 508-2.

Sextas-feiras, das 10h às 11h, na sala 508-2.


Nestes dias/horários, basta aparecer na sala!



🧐 Ementa da disciplina

MCTA003-17 - Análise de Algoritmos

Objetivos:



🖖 Recomendação

Para facilitar o acompanhamento do curso, é recomendado que você possua:

Dê uma olhada na lista 0 de exercícios e veja se está confortável com aquele conteúdo (ao menos já viu antes).

Preparei também esse material de 🔥revisão🔥 que contém tudo que precisamos na disciplina. Também tenho vídeos com definição e exemplos de indução.


⚠ Revise, no mínimo, indução e recursão antes das aulas começarem!!!⚠
Veja a lista 0 de exercícios!


Outros materiais de apoio:



📚 Bibliografia e outros materiais

  1. [LM] Lintzmayer, C. N.; Mota, G. O.. Notas de aulas - Análise de algoritmos e estruturas de dados (o conteúdo dessa disciplina está completo no livro, mas sempre existem pequenas atualizações - verifique sempre sua versão).
  2. [CLRS2] Cormen, T. H.; Leiserson, C. E.; Rivest, R. L.; Stein, C.. Introduction to Algorithms. 2nd ed. MIT Press. 2002.
  3. [CLRS3] Cormen, T. H.; Leiserson, C. E.; Rivest, R. L.; Stein, C.. Introduction to Algorithms. 3rd ed. MIT Press. 2009.
  4. [R] Vídeo aulas do prof. Tim Roughgarden, de Stanford, em inglês (com legendas): parte 1 e parte 2.


📆 Cronograma



ATENÇÃO! O conteúdo exato e materiais de apoio de cada aula são atualizados durante o quadrimestre.
As aulas que já foram ministradas estão coloridas.


Aula 1 - 31/mai
Aula 2 - 2/jun
  • Sem aula: visita do presidente Lula ao campus de SBC.
Aula 3 - 7/jun
  • Conteúdo: Introdução à análise de algoritmos. Corretude de algoritmos (iterativos).
  • Referências: Cap. 2 e 3 [LM], Cap. 1 e 2 [CLRS2].
9/jun (Feriado Corpus Christi)
  • Reposição em 22/ago (terça-feira).
Aula 4 - 14/jun
  • Conteúdo: Término da invariante da busca binária. Tempo de execução. Notação assintótica.
  • Referências: Cap. 4 e 5 [LM], Cap. 3 [CLRS2].
Aula 5 - 16/jun
  • Conteúdo: Análise por casos. Tempo com notação assintótica. Insertion Sort.
  • Referências: Cap. 6 e 15 [LM], Cap. 2.1, 2.2, 3.1, 3.2 [CLRS2],
  • Extra: execução Insertion Sort.
Aula 6 - 21/jun
  • Conteúdo: Recursão. Corretude e tempo de execução em algoritmos recursivos. Recorrências.
  • Referências: Cap. 7 e 8 (intro) [LM], Cap. 2.3, 4 (intro) [CLRS2],
Aula 7 - 23/jun
Aula 8 - 28/jun - Sem aula presencial e sem atendimento!
  • Conteúdo: Solução de recorrências: substituição e iteração.
  • Referências: Cap. 8.1 e 8.2 [LM], Cap. 4 [CLRS2].
  • Vídeos para apoio a esse conteúdo (tempo total = 63min):
Aula 9 - 30/jun - Sem aula presencial e sem atendimento!
  • Conteúdo: Solução de recorrências: árvore de recursão e método Mestre.
  • Referências: Cap. 8.3 e 8.4 [LM], Cap. 4 [CLRS2].
  • Vídeos para apoio a esse conteúdo (tempo total = 51min):
  • Extra!! Demonstração do Teorema Mestre:
Reposição - 1/jul (sábado) - 10h às 12h
  • Conteúdo: Aulas 8 e 9.
  • Sala: S-212-0.
  • Haverá atendimento entre 9h e 10h e entre 12h e 13h, na mesma sala.
Aula 10 - 5/jul
Aula 11 - 7/jul
  • Término de heap e Heapsort. Revisão e dúvidas para prova.
Aula 12 - 12/jul
  • Prova 1
  • Atenção! Não haverá monitoria neste dia!
Aula 13 - 14/jul
Aula 14 - 19/jul
  • Conteúdo: Buscas em grafos. Busca em largura e distância. Comentário final sobre busca em profundidade e busca em digrafos.
  • Referências: Cap. 24 [LM], Seção 22.3 [CLRS2].
  • Extra: execução BFS, execução BFS.
Aula 15 - 21/jul
  • Conteúdo: Introdução a algoritmos gulosos. Escalonamento de tarefas compatíveis.
  • Referências: Seção 21.1 [LM].
Aula 16 - 26/jul
  • Conteúdo: Finalização do escalonamento. Mochila fracionária. Árvore geradora mínima.
  • Referências: Seção 21.2 e intro 25 [LM], Cap. 23 [CLRS2].
Aula 17 - 28/jul
2/ago - SEM AULA
Aula 18 - 4/ago
  • Conteúdo: Kruskal com Union-Find. Introdução à Programação Dinâmica. Mochila inteira.
  • Referências: Seção 25.1, intro Cap. 22, Seção 22.3 [LM], Cap. 15 [CLRS3].
  • Extra: execução Mochila com código.
9/ago - SEM AULA
  • Conforme já previsto desde o início do quadrimestre.
  • Também não haverá atendimento nesse dia, e haverá atendimento 14h às 15h30 do dia 11/ago na sala da professora.
  • Exemplo extra de programação dinâmica: problema do Corte de Barra de Ferro.
Aula 19 - 11/ago
  • Conteúdo: Término Mochila inteira. Alinhamento de sequências.
  • Referências: Seção 22.4 e Cap. 27 e Seções 27.1 e 27.2 [LM], Cap. 24.3 e 25.2 [CLRS2].
  • Extra: execução Alinhamento.
Aula 20 - 16/ago
Aula 21 - 18/ago
Aula 22 - 22/ago (⚠ Em uma terça-feira, às 8h, por ser reposição de uma aula de sexta-feira!)
  • Revisão e dúvidas para prova.
  • Haverá atendimento das 10h às 12h nesse dia, na sala da professora.
Aula 23 - 24/ago (⚠ Em uma quinta-feira, às 8h, por ser reposição de uma aula de sexta-feira!)
  • Prova 2
  • Atenção! Não haverá monitoria neste dia!
Aula 24 - RECUPERAÇÃO - 23/set (quadrimestre seguinte)
  • Prova de recuperação para os alunos que ficaram com conceito D ou F ** E QUE ** enviarem e-mail indicando interesse em realizá-la.
  • Das 10h às 12h na sala S-212-0.


👎 Plágio



🏋 Listas de exercícios



🎓 Critérios de avaliação



💯 Notas

Confira aqui as notas das listas de exercícios!

Confira aqui as notas de todas as atividades, inclusive contagem de faltas!

Lembre-se sempre que a intenção das listas de exercício é reforçar seu aprendizado.
Não deixe de procurar atendimento para entender o motivo de ter errado algum exercício!



💪 Mecanismo de recuperação



🤒 Mecanismos de avaliação substitutivos




Carla Negri Lintzmayer - carla.negri@ufabc.edu.br