Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Instituto de Matemática e Estatística
 
Ciência da Computação
 
Disciplina: MAC0327 - Desafios de Programação
Programming Challenges

Créditos Aula: 4
Créditos Trabalho: 0
Carga Horária Total: 60 h
Tipo: Semestral
Ativação: 01/01/2021 Desativação:

Objetivos
Desenvolver 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 aprendizado gradual de técnicas de desenvolvimento e análise de algoritmos, incluindo o uso de estruturas de dados bem conhecidas e uma grande variedade de estratégias de resolução de problemas computacionais.
 
To develop abilities to solve computational problems in an environment similar to international programming contests such as the ICPC and the SBC Programming Marathon. The proposed programming problems lead to a gradual learning of techniques of design and analysis of algorithms, including the use of well-known data structures and a great variety of resolution strategies for computational problems.
 
 
Docente(s) Responsável(eis)
91288 - Carlos Eduardo Ferreira
55029 - Cristina Gomes Fernandes
3463382 - Marcel Kenji de Carli Silva
 
Programa Resumido
Tópicos clássicos de Ciência da Computação, tais como estruturas de dados básicas, ordenação, problemas clássicos de grafos, programação dinâmica, backtracking, bem como problemas matemáticos envolvendo conceitos de combinatória e teoria dos números.
 
Classical topics in Computer Science, such as basic data structures, sorting, classical graph problems, dynamic programming, backtracking, as well as basic mathematical problems involving concepts of combinatorics and number theory.
 
 
Programa
1. problemas matemáticos envolvendo conceitos de teoria dos números e/ou combinatória;
2. problemas com vetores, matrizes e strings;
3. recorrências e recursão;
4. problemas envolvendo ordenação e busca;
5. problemas com filas e pilhas;
6. problemas com grafos e árvores;
7. busca em largura e busca em profundidade;
8. estratégia gulosa;
9. programação dinâmica;
10. backtracking.
 
1. mathematical problems involving concepts of number theory and combinatorics; 2. problems with arrays, matrices, and strings; 3. recurrences and recursion; 4. problems involving sorting and search; 5. problems with queues and stacks; 6. problems with graphs and trees; 7. breath and depth first search; 8. greedy strategy; 9. dynamic programming; 10. backtracking.
 
 
Avaliação
     
Método
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.
Critério
A média geral deve ser maior ou igual a 5 para aprovação.
Norma de Recuperação
Não possui recuperação.
 
Bibliografia
     
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.

Bibliografia Complementar: 

N. Ziviani, Projeto de Algoritmos com Implementações em Java e C++, Editora Thomson, 2007. 

M. T. Goodrich, R. Tamassia, Projeto de Algoritmos, Editora Bookman, 2004. 

S. S. Skiena, The Algorithm Design Manual (2nd ed.), Springer, 2008. 

ICPC Website, https://icpc.baylor.edu/.

Online Judge, https://onlinejudge.org/.

URI Online Judge, https://www.urionlinejudge.com.br/.
 

Clique para consultar os requisitos para MAC0327

Clique para consultar o oferecimento para MAC0327

Créditos | Fale conosco
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP