MAC0345 Desafios de Programação Avançados
Por | EmOBJETIVOS: Aprimorar habilidades de resolução de problemas computacionais em um ambiente semelhante ao de concursos internacionais de programação como o ICPC e à Maratona de Programação da SBC. Os problemas de programação propostos levam ao aprofundamento do aprendizado de técnicas de desenvolvimento e análise de algoritmos, incluindo o uso de estruturas de dados sofisticadas e uma ampla variedade de estratégias de resolução de problemas computacionais.
PROGRAMA RESUMIDO: Os problemas de programação envolvem diversos tópicos de Ciência da Computação, tais como estruturas de dados, ordenação, combinatória e matemática (contagem, álgebra, etc), backtracking, grafos e geometria computacional. Espera-se que o aluno tenha bons conhecimentos de tópicos clássicos de análise de algoritmos e estruturas de dados.
PROGRAMA: 1. problemas matemáticos envolvendo conceitos de teoria dos números e/ou combinatória; 2. recorrências e recursão; 3. problemas envolvendo ordenação e busca; 4. problemas com estruturas de dados diversas; 5. problemas com grafos e árvores; 6. estratégia gulosa; 7. programação dinâmica; 8. backtracking; 9. simulação; 10. problemas de geometria computacional.
RESPONSÁVEIS: Cristina Gomes Fernandes Marcel Kenji de Carli Silva
PRÉ-REQUISITOS: MAC0121.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 6 horas, 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM:
A disciplina tem intensa atividade de programação. Todos os programas criados pelos alunos são submetidos a "juízes eletrônicos". A média final é calculada a partir da porcentagem dos programas que foram aceitos pelos juízes eletrônicos dentro dos prazos estabelecidos. A média geral deve ser maior ou igual a 5 para aprovação.
NORMA DE RECUPERAÇÃO:
Nesta disciplina não há recuperação.
BIBLIOGRAFIA BÁSICA:
- S. S. Skiena, M. A. Revilla, Programming Challenges: The Programming Contest Training Manual, Springer, 2003
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms (3rd ed.), MIT Press and McGraw-Hill, 2009.
OBSERVAÇÃO: Disciplina optativa eletiva nos currículos do BCC.
[Veja dados da disciplina no JúpiterWeb]
Alguns dos oferecimentos da disciplina: