Plano de Ensino
Projeto e Análise de Algoritmos - 2021/1
1 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:
- Analisar a complexidade, quanto aos recursos de tempo e espaço, de algoritmos utilizando a análise assintótica;
- Provar a correção de algoritmos;
- Conhecer os paradigmas de projeto por indução, divisão e conquista, algoritmos gulosos e programação dinâmica para projetos 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:
- Leituras dirigidas que serão disponibilizadas na plataforma Microsoft Teams institucional e/ou na página web da disciplina1;
- Atividades assíncronas (videoaulas) que ficarão disponíveis na plataforma Youtube, e cujos links serão disponibilizados na plataforma Microsoft Teams institucional e/ou na página web da disciplina1;
- Atividades síncronas (aulas virtuais) via a plataforma Microsoft Teams institucional.
A plataforma Microsoft Teams institucional 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, perfazendo um total de 70 pontos.
- Um projeto, a ser feito em grupos de até 3 alunos, perfazendo um total de 30 pontos. Esta formalização será composta de duas etapas a serem descritas posteriormente.
A frequência será composta de 26 atividades, uma para cada aula. Estas atividades serão realizadas no caderno de atividades da equipe no Teams institucional. Cada atividade entregue no prazo contabiliza a frequência para a aula correspondente. Atividades entregues fora do prazo, ou não entregues contabilizam falta para a aula correspondente.
Para ser aprovado o aluno deve cumprir simultaneamente os seguintes itens:
- Frequência maior ou igual a 75%;
- Obter pelo menos 50 pontos considerando as duas etapas de avaliação do curso como descrito acima.
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 Bibliografia
A referência principal é cite: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:
- cite:baaseComputerAlgorithmsIntroduction1999
- cite:levitinIntroductionDesignAnalysis2012
- cite:manberIntroductionAlgorithmsCreative1989
- cite:roughgardenAlgorithmsIlluminatedPart2017
- cite:roughgardenAlgorithmsIlluminatedPart2018
- cite:roughgardenAlgorithmsIlluminatedPart2019.
bibliographystyle:plain bibliography:/Users/flaviomoura/Dropbox/org/zotLib.bib