Plano de Ensino
Projeto e Análise de Algoritmos - 2020/2
1 Objetivos
Compreender os fundamentos matemáticos para a análise de algoritmos por meio de ferramentas matemáticas e de implementações de soluções eficientes para problemas usuais nas aplicações computacionais. Ao final do curso o aluno dever ser capaz de:
- Analisar a complexidade quanto aos recursos de tempo e espaço de algoritmos utilizando análise assintótica;
- Provar a correção de algoritmos elementares;
- Conhecer aos paradigmas de projeto por indução, divisão e conquista, algoritmos gulosos e programação dinâmica para o projeto de algoritmos;
- Compreender os fundamentos da teoria de NP-completude.
2 Conteúdo programático
- Fundamentos matemáticos para análise de algoritmos;
- Análise assintótica de algoritmos;
- Paradigmas de projeto de algoritmos;
- Algoritmos eficientes;
- Fundamentos de complexidade computacional.
3 Metodologia de ensino
O conteúdo será abordado por meio de atividades:
- Leituras dirigidas que serão disponibilizadas na página web da disciplina1 e/ou na plataforma Microsoft Teams institucional;
- Assíncronas (videoaulas) que ficarão disponíveis na plataforma Youtube, e cujos links serão disponibilizados na página web da disciplina1 e/ou na plataforma Microsoft Teams institucional;
- Síncronas (aulas virtuais) via a plataforma Microsoft Teams institucional.
A plataforma institucional Microsoft Teams será utilizada para troca de mensagens e discussão de dúvidas.
4 Avaliação
A avaliação será composta das seguintes partes:
- Atividades individuais a serem enviadas em prazo determinado.
- Serão 30 atividades, cada uma valendo 2 pontos, perfazendo um total de 60 pontos.
- Cada atividade individual será contabilizada como uma frequência, se enviada no prazo determinado; e contabilizada como falta da aula correspondente, se enviada com atraso ou se não for enviada.
- A pontuação de cada uma das 30 atividades será contabilizada como a seguir:
- até 2 pontos, se enviada no prazo determinado;
- até 1 ponto, se enviada em até 24 horas depois do prazo determinado;
- 0, nas outras situações.
- As atividades individuais que não tenham sido realizadas por alguma razão amparada por lei poderão ser repostas no final do semestre por meio de uma avaliação envolvendo todo o conteúdo do semestre.
- Uma avaliação escrita individual a ser enviada em formato pdf em prazo determinado, perfazendo um total de 10 pontos.
- Uma formalização (a ser feita individualmente ou em dupla) a ser feita no assistente de provas Coq, e enviada pela plataforma GitHub em prazo determinado, perfazendo um total de 30 pontos.
Para ser aprovado o aluno deve cumprir simultaneamente os seguintes itens:
- Frequência maior ou igual a 75% nas aulas;
- Obter pelo menos 50 pontos considerando as duas etapas de avaliação do curso.
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 |
5 Material didático
A referência principal é cormenIntroductionAlgorithmsThird2009. Materiais de leitura complementar serão disponibilizados no ambiente virtual, assim como links para outras referências que estiverem disponíveis na internet.
Bibliografia complementar: baaseComputerAlgorithmsIntroduction1999,levitinIntroductionDesignAnalysis2012,manberIntroductionAlgorithmsCreative1989,roughgardenAlgorithmsIlluminatedPart2017,roughgardenAlgorithmsIlluminatedPart2018,roughgardenAlgorithmsIlluminatedPart2019.
Bibliography
- [cormenIntroductionAlgorithmsThird2009] Cormen, Leiserson, Rivest & Stein, Introduction to Algorithms, Third Edition, The MIT Press (2009).
- [baaseComputerAlgorithmsIntroduction1999] Baase & Gelder, Computer Algorithms: Introduction to Design and Analysis, Addison-Wesley Longman Publishing Co., Inc. (1999).
- [levitinIntroductionDesignAnalysis2012] Levitin, Introduction to the Design and Analysis of Algorithms, Third Edition, Addison-Wesley Longman Publishing Co., Inc. (2012).
- [manberIntroductionAlgorithmsCreative1989] Manber, Introduction to Algorithms: A Creative Approach, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA (1989).
- [roughgardenAlgorithmsIlluminatedPart2017] Roughgarden, Algorithms Illuminated (Part 1): The Basics, Soundlikeyourself Publishing, LLC (2017).
- [roughgardenAlgorithmsIlluminatedPart2018] Roughgarden, Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures (Volume 2), Soundlikeyourself Publishing, LLC (2018).
- [roughgardenAlgorithmsIlluminatedPart2019] Roughgarden, Algorithms Illuminated (Part 3): Greedy Algorithms and Dynamic Programming, Soundlikeyourself Publishing, LLC (2019).