Plano de Ensino
Projeto e Análise de Algoritmos - 2020/2
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 página web da disciplina1 e/ou na plataforma Microsoft Teams institucional;
- Atividades 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;
- Atividades 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 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 é 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,levitinIntroductionDesignAnalysis2012,manberIntroductionAlgorithmsCreative1989,roughgardenAlgorithmsIlluminatedPart2017,roughgardenAlgorithmsIlluminatedPart2018,roughgardenAlgorithmsIlluminatedPart2019.
bibliographystyle:unsrt bibliography:/Users/flaviomoura/beorg/org/zotLib.bib