Competições de Programação <ul><li>Apresentação </li></ul><ul><li>Filipi Vaichert de Carvalho </li></ul>
O que é uma Competição de  Programação? <ul><li>É uma competição onde um programador ,  ou grupo de programadores,  deve a...
Por que é bom? <ul><li>Ajuda você a desenvolver um raciocínio rápido,  de forma que você aprende a lidar melhor com divers...
Como funciona? <ul><li>Existem diferentes modalidades de competição </li></ul><ul><li>Para ganhar, você deve resolver o ma...
Algumas Competições Competição Participação Quem Pode participar Etapas TopCoder Individual Aberto Online Imagine Cup Vári...
Olimpiada de Informatica (OBI) <ul><li>Para alunos de primeiro e segundo grau; </li></ul><ul><li>Possui duas modalidades: ...
Como funciona a Olimpíada de  Informática <ul><li>Você deve se inscrever em alguma instituição que vá aplicar a prova (esc...
E se eu me der bem? <ul><li>Os melhores colocados são convidados a fazer um curso em Campinas; </li></ul><ul><li>Dentre os...
Como me Preparo? <ul><li>Os conceitos e as técnicas de programação serão estudados com base a linguagem de programação Obj...
ICPC Maratona de Programação <ul><li>Criada em 1976 </li></ul><ul><li>Competição voltada para alunos de cursos de Ciência ...
Elegibilidade <ul><li>Regularmente matriculado </li></ul><ul><li>Não ter competido em 5 regionais ou 2 mundiais </li></ul>...
Como funciona a Maratona de Programação <ul><li>C,  C++ ou Java; </li></ul><ul><li>A competição é em equipe,  cada equipe ...
Pontuação <ul><li>Ganha quem tiver mais problemas. </li></ul><ul><li>Desempate pela menor penalidade de tempo. </li></ul><...
Como eu participo para Maratona de Programação <ul><li>Cada instituição pode inscrever até três equipes; </li></ul><ul><li...
Como se dar bem? <ul><li>Ficar em primeiro na regional do estado na UVV </li></ul><ul><li>10 primeiros na final brasileira...
Qual a importância? <ul><li>A Maratona é patrocinada pela IBM e pela Microsoft,  sendo organizada pela ACM desde 1977; </l...
Como se preparar <ul><li>Existem várias páginas na internet onde é possível resolver problemas no estilo da maratona e con...
Em Quem se inspirar <ul><li>Loiane Groner </li></ul><ul><li>Estudou na Faesa. </li></ul><ul><li>Trabalha na IBM atualmente...
Última maratona na UFES
TopCoder <ul><li>Competição organizada por uma instituição não acadêmica com premiações em dinheiro. </li></ul><ul><li>Par...
Como Funciona o TopCoder <ul><li>Você deve saber programar em C++,  Java,  C# ou VB; </li></ul><ul><li>A competição é indi...
E se eu me der bem <ul><li>Existe um ranking com os melhores competidores; </li></ul><ul><li>Existem várias empresas patro...
Sites <ul><li>http://acm.uva.es/p  (não julga mais =//) </li></ul><ul><li>http:// icpcres.ecs.baylor.edu/onlinejudge / </l...
Alguns Livros
Biblografia <ul><li>Apostila (referência e complemento às aulas). </li></ul><ul><li>Steven S. Skiena e Miguel A. Revilla. ...
 
Upcoming SlideShare
Loading in …5
×

Apresentação Competições

6,513 views
6,470 views

Published on

Published in: Travel, Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,513
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
34
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Apresentação Competições

  1. 1. Competições de Programação <ul><li>Apresentação </li></ul><ul><li>Filipi Vaichert de Carvalho </li></ul>
  2. 2. O que é uma Competição de Programação? <ul><li>É uma competição onde um programador , ou grupo de programadores, deve apresentar uma solução computacional correta para um dado problema. </li></ul><ul><li>✓ a correção é realizada por meio de testes: </li></ul><ul><ul><li>- um arquivo de entradas. </li></ul></ul><ul><ul><li>- um arquivo de saída esperada </li></ul></ul><ul><li>✓ o programa solução deve: </li></ul><ul><ul><li>- ler o arquivo de entradas </li></ul></ul><ul><ul><li>- imprimir o resultado correspondente a essas entradas </li></ul></ul><ul><ul><li>- respeitando limites de tempo de execução e de quantidade de memória usada. </li></ul></ul><ul><li>✓ o resultado do programa deve ser idêntico ao conteúdo do arquivo de saída esperada. </li></ul>
  3. 3. Por que é bom? <ul><li>Ajuda você a desenvolver um raciocínio rápido, de forma que você aprende a lidar melhor com diversos problemas computacionais; </li></ul><ul><li>Você busca conhecer todos os recursos das linguagens de programação; </li></ul><ul><li>Você ganha motivação para estudar o material de algoritmos e estruturas de dados; </li></ul><ul><li>Melhora o seu currículo; </li></ul><ul><li>Você pode até ganhar dinheiro com isso; </li></ul><ul><li>É sempre bom competir . </li></ul><ul><li>Estimula o raciocínio e a criatividade para a resolução de problemas (quase) reais, aproximando teoria e prática. </li></ul><ul><li>Desperta interesse em competições de resolução de problemas e programação. </li></ul>
  4. 4. Como funciona? <ul><li>Existem diferentes modalidades de competição </li></ul><ul><li>Para ganhar, você deve resolver o maior número de problemas no menor tempo possível; </li></ul><ul><li>Existe um tempo fixo para resolver os problemas. </li></ul>
  5. 5. Algumas Competições Competição Participação Quem Pode participar Etapas TopCoder Individual Aberto Online Imagine Cup Vários Estudantes Online /Presencial Google Code Jam Individual Aberto Online / Presencial IPSC Grupo (1 a 3) Aberto online OBI Individual Estudantes do ensino fundamental e médio Presencial ACM ICPC Maratona de Programação Grupo (3) Estudantes gradução Presencial
  6. 6. Olimpiada de Informatica (OBI) <ul><li>Para alunos de primeiro e segundo grau; </li></ul><ul><li>Possui duas modalidades: Iniciação e Programação; </li></ul><ul><li>Alunos que terminaram o segundo grau no ano passado também podem participar da Olimpíada. </li></ul>
  7. 7. Como funciona a Olimpíada de Informática <ul><li>Você deve se inscrever em alguma instituição que vá aplicar a prova (escola ou universidade); </li></ul><ul><li>Na modalidade Programação você deve saber programar em C ou C++; </li></ul><ul><li>A competição é individual; </li></ul><ul><li>A competição é em três fases; </li></ul><ul><li>As soluções são avaliada posteriormente; </li></ul><ul><li>Quanto mais testes uma solução funciona (retorna o resultado esperado), maior a pontuação do competidor . </li></ul>
  8. 8. E se eu me der bem? <ul><li>Os melhores colocados são convidados a fazer um curso em Campinas; </li></ul><ul><li>Dentre os participantes do curso serão escolhidos os integrantes da equipe brasileira na Olimpíada Internacional de Informática (IOI). </li></ul>
  9. 9. Como me Preparo? <ul><li>Os conceitos e as técnicas de programação serão estudados com base a linguagem de programação Objective CAML. </li></ul><ul><ul><li>Oportunamente, e para fins comparativos, poderão ser ilustrados alguns conceitos em uma segunda linguagem de programação, como C++. </li></ul></ul><ul><li>O conteúdo da disciplina é incremental: os conceitos mais avançados apenas podem ser entendidos quando os conceitos básicos foram bem assimilados. </li></ul><ul><li>A necessidade de exercitar de forma concreta os conceitos apresentados em sala de aula. </li></ul><ul><li>Atenção: o conteúdo da disciplina é abrangente e necessita um esforço importante e permanente dos alunos. </li></ul><ul><li>Os alunos recebem tarefas a serem realizadas antes da aula seguinte. </li></ul>
  10. 10. ICPC Maratona de Programação <ul><li>Criada em 1976 </li></ul><ul><li>Competição voltada para alunos de cursos de Ciência da Computação, Engenharia de Computação e áreas afins; </li></ul><ul><li>Visto mundialmente </li></ul>
  11. 11. Elegibilidade <ul><li>Regularmente matriculado </li></ul><ul><li>Não ter competido em 5 regionais ou 2 mundiais </li></ul><ul><li>Não ter mais de 5 anos de faculdade (iniciado em 2004 ou depois) </li></ul><ul><li>Ter menos que 24 anos completos (nascido em 85 para este ano) </li></ul>
  12. 12. Como funciona a Maratona de Programação <ul><li>C, C++ ou Java; </li></ul><ul><li>A competição é em equipe, cada equipe é formada por três alunos; </li></ul><ul><li>Cada equipe tem acesso a um computador e apenas a material impresso; </li></ul><ul><li>Acesso a uma impressora (pode usar a vontade). </li></ul><ul><li>Objetivo é apresentar soluções computacionalmente corretas para um dado problema no menor tempo possível. </li></ul><ul><li>5 horas </li></ul><ul><li>+- 10problemas </li></ul><ul><li>1 Computador + 3 pessoas = FIGHT! </li></ul><ul><li>Estratégia </li></ul><ul><li>Escolha de questões </li></ul><ul><li>Controle de Tempo </li></ul>
  13. 13. Pontuação <ul><li>Ganha quem tiver mais problemas. </li></ul><ul><li>Desempate pela menor penalidade de tempo. </li></ul><ul><li>Penalidade é o tempo de solução de cada problema, a partir do início do contest. </li></ul><ul><li>Mais a penalidade por erro (de 20 min.) acrescida a cada erro antes de um acerto numa questão específica. </li></ul>
  14. 14. Como eu participo para Maratona de Programação <ul><li>Cada instituição pode inscrever até três equipes; </li></ul><ul><li>Para montar as equipes geralmente existe uma competição para selecionar os melhores alunos; </li></ul><ul><li>Os selecionados irão então representar a instituição na primeira fase da Maratona de Programação. </li></ul>
  15. 15. Como se dar bem? <ul><li>Ficar em primeiro na regional do estado na UVV </li></ul><ul><li>10 primeiros na final brasileira ganham medalha (em Campinas este ano) </li></ul><ul><li>1 e 2 lugares na final brasileira vão para o mundial (China este ano) </li></ul>
  16. 16. Qual a importância? <ul><li>A Maratona é patrocinada pela IBM e pela Microsoft, sendo organizada pela ACM desde 1977; </li></ul><ul><li>Em 2005, cerca de 5000 times de 1500 instituições de mais 70 países competiram nas regionais em todo o planeta e 83 deles avançaram para a final, que aconteceu em San Antonio, Texas, Estados Unidos. </li></ul><ul><li>Em 2007 82 paises, 1756 instituições de ensino, 6099 equipes. </li></ul>
  17. 17. Como se preparar <ul><li>Existem várias páginas na internet onde é possível resolver problemas no estilo da maratona e conferir se sua solução está correta; </li></ul><ul><li>Praticando com assiduidade os seguintes sites: </li></ul><ul><ul><li>http://acm.uva.es/ . </li></ul></ul><ul><ul><li>http://spoj.sphere.pl . </li></ul></ul><ul><li>Dizem que estudando também dá. </li></ul>
  18. 18. Em Quem se inspirar <ul><li>Loiane Groner </li></ul><ul><li>Estudou na Faesa. </li></ul><ul><li>Trabalha na IBM atualmente. </li></ul><ul><li>http://twitter.com/loiane </li></ul><ul><li>www.loiane.com </li></ul>
  19. 19. Última maratona na UFES
  20. 20. TopCoder <ul><li>Competição organizada por uma instituição não acadêmica com premiações em dinheiro. </li></ul><ul><li>Para qualquer pessoa maior de 13 anos; </li></ul><ul><li>Possui uma estrutura um pouco diferente das outras competições; </li></ul><ul><li>Competições acontecem todas as semanas. </li></ul><ul><li>Vários tipos de competição (bug trace, teste, component, assembly, algorithm, etc.) </li></ul>
  21. 21. Como Funciona o TopCoder <ul><li>Você deve saber programar em C++, Java, C# ou VB; </li></ul><ul><li>A competição é individual; </li></ul><ul><li>Objetivo é apresentar soluções corretas o mais rápido possível; </li></ul><ul><li>Principiantes competem na segunda divisão; </li></ul><ul><li>Participantes com uma pontuação cumulada suficiente passam a competir na primeira divisão. </li></ul>
  22. 22. E se eu me der bem <ul><li>Existe um ranking com os melhores competidores; </li></ul><ul><li>Existem várias empresas patrocinando os eventos, querendo contratar bons profissionais; </li></ul><ul><li>Algumas competições dão prêmios em dinheiro. </li></ul>
  23. 23. Sites <ul><li>http://acm.uva.es/p (não julga mais =//) </li></ul><ul><li>http:// icpcres.ecs.baylor.edu/onlinejudge / </li></ul><ul><li>http://acmicpc-live-archive.uva.es/nuevoportal / </li></ul><ul><li>http://br.spoj.pl </li></ul><ul><li>http:// acm.pku.edu.cn/JudgeOnline / </li></ul><ul><li>http:// www.topcoder.com </li></ul>
  24. 24. Alguns Livros
  25. 25. Biblografia <ul><li>Apostila (referência e complemento às aulas). </li></ul><ul><li>Steven S. Skiena e Miguel A. Revilla. Programming Challenges - The Programming Contest Training Manual. Springer, 2003. </li></ul><ul><li>Udi Manber. Introduction to Algorithms: A Creative Approach. Addison-Wesley, 1989. </li></ul><ul><li>Thomas H. Cormen, Charles E. Leiserson, Ronald L. </li></ul><ul><li>Rivest e Clifford Stein. Introduction to Algorithms. MIT Press, 2001. </li></ul><ul><li>Inumeros outros… </li></ul>

×