|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902 |
|
Plano de Ensino
IDENTIFICAÇÃO
Componente Curricular: |
|||||||||
Unidade Ofertante: |
|||||||||
Código: |
Período/Série: |
Turma: |
|||||||
Carga Horária: |
Natureza: |
||||||||
Teórica: |
Prática: |
Total: |
Obrigatória: |
Optativa: |
|||||
Professor(A): |
Ano/Semestre: |
||||||||
Observações: |
EMENTA
Conceitos de programação competitiva; ; Estruturas de dados lineares e não lineares; Algoritmos em grafos; Algoritmos matemáticos; Processamento de strings; Geometria computacional; Árvores de Fenwick; Árvores de segmentos; Menor ancestral comum.
JUSTIFICATIVA
Compreender os conceitos e técnicas envolvidos na resolução de problemas de característica algorítmica, passíveis de implementação em computadores.
OBJETIVO
Objetivo Geral: |
|
Objetivos Específicos: |
|
PROGRAMA
Introdução à Programação Competitiva
Sistemas de julgamento
Formato das competições
Linguagens de programação utilizadas nas maratonas de programação
Estruturas de Dados e bibliotecas:
Estruturas de dados lineares e não lineares presentes nas bibliotecas padrões
Representação de grafos
Union-find
Grafos
Busca em largura e busca em profundidade, componente conexo, ciclos
Árvore geradora mínima
Menor caminho, fluxo em grafos, algoritmos em classes especiais de grafos
Algoritmos matemáticos
Aritmética básica e modular
Teste de primalidade, divisores e fatoração
Combinatória, técnicas de contagem e coeficientes binomiais
Processamento de strings
Soluções presentes nas bibliotecas padrão
Algoritmo KMP e variantes
Distância de edição; Subsequência comum mais longa; Vetor de sufixos
Tópicos adicionais
Geometria computacional: objetos básicos e operações elementares; polígonos; fecho convexo
Árvores de segmentos e árvores Fenwick
Menor ancestral comum
METODOLOGIA
Distribuição das atividades:
Carga-horária de atividades assíncronas (videoaulas, listas de exercícios): 9 horas-aulas
Moodle:
Todas as informações relativas à disciplina estarão no Moodle.
Página da disciplina: https://www.moodle.ufu.br/course/view.php?id=12075
Os alunos matriculados receberão a senha de acesso à disciplina no Moodle por email na primeira semana de aula.
Cronograma:
Serão realizadas aulas presenciais expositivas com uso de projetor, quadro negro, e demais materiais, conforme o cronograma apresentado na tabela a seguir.
Semana |
Conteúdo |
1 |
Introdução (sobre o curso) |
2 |
Ad-hoc |
3 |
Torneio 1 |
4 |
ED lineares |
5 |
ED não-lineares |
6 |
Torneio 2 |
7 |
Backtracking |
8 |
Divisão-e-Conquista |
9 |
Torneio 3 |
10 |
Algorimos Gulosos |
11 |
Programação Dinâmica |
12 |
Torneio 4 |
13 |
Grafos I |
14 |
Grafos II |
15 |
Torneio 5 |
Atendimento aos alunos:
O atendimento aos alunos será realizado uma vez por semana na sala do professor na modalidade presencial, ou através do Fórum de Dúvidas no Moodle.
AVALIAÇÃO
Sistema de Avaliação
A participação em cada torneio valerá 13 pontos na nota final (NF).
Será feito um ranking dos alunos a partir do número de problemas resolvidos (nos torneios) ao longo do curso.
A NF de cada aluno será acrescida da seguinte pontuação a partir de seu ranking:
ranking |
pontos |
---|---|
1º |
35 |
2º |
30 |
3º |
25 |
4º ao 6º |
20 |
7º ao 9º |
15 |
10º ao 12º |
10 |
13º ao 15º |
5 |
16º ao 18º |
1 |
Avaliação de recuperação:
Será oferecida uma avaliação de recuperação para os discentes que não obtiverem o rendimento mínimo para aprovação e com frequência mínima de 75%.
A avaliação de recuperação será composta por uma prova que valerá 10 pontos.
A nota da recuperação será adicionada à NF obtida pelo estudante.
O estudante que realizar a atividade de recuperação e for aprovado terá limitada a sua nota final em 60 pontos.
BIBLIOGRAFIA
Básica
CORMEN, Thomas H.; RIVEST, Ronald l.; LEISERSON, Charles E. e STEIN, Cliford. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2012. 926 p., il. Inclui bibliografia e índice. ISBN 9788535236996 (broch.).
HALIM, S. Competitive Programming. 3a ed. [S.I.]: Lulu, 2013.
SKIENA, S. S.; REVILLA, M. A.Programming Challenges: the programming contest training manual. New York: Springer, 2003.
Complementar
KNUTH, D. E. The art of computer programming. 3a ed. Reading, Massachusetts: Addison- Wesley, 1997.
MANBER, U. Introduction to Algoritms: a creative approach. [S.I.]: Addison-Wesley, 1989.
REVILLA, M. A., POUCHER, W. B. From Baylor to Baylor. [S.I.]: Lulu, 2009.
SEDGEWICK, R.; WAYNE, K. Algorithms. 4a ed. Upper Saddle River: Addison-Wesley Professional, 2011.
SKIENA, S. S. Algorithm Design Manual. 2a ed. London: Springer, 2008.
ETTER, D. M. Engineering problem solving with C. 4th ed. Boston: Pearson, c2013. xx, 460 p., ill., 23 cm. ISBN 9780136085317 (broch.).
APROVAÇÃO
Aprovado em reunião do Colegiado realizada em: ____/____/______
Coordenação do Curso de Graduação: _________________________
Documento assinado eletronicamente por Felipe Alves da Louza, Professor(a) do Magistério Superior, em 18/01/2024, às 23:51, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 5116648 e o código CRC 53246AAD. |
Referência: Processo nº 23117.002005/2024-41 | SEI nº 5116648 |