MAC0345  Desafios de Programação Avançados

Por | Em

OBJETIVOS:  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: