O que é a Maratona de Programação?

(Last Updated On: 13 de março de 2017)

Se você está ligado nos novos cursos da Alura deve ter notado que temos um curso novo sobre Maratona de Programação. Mas você sabe o que é?

Entendendo a maratona

A Maratona de Programação é um evento de nível nacional da Sociedade Brasileira de Computação que existe desde 1996 e é destinada a alunos de cursos da graduação ou do início de pós-graduação na área de computação.

Legal, mas como funciona? Trata-se de uma competição em equipes de 3 pessoas que tentarão resolver em 5 horas o maior número de problemas que conseguir utilizando apenas 1 computador. O que achou? Desafiador né? Então vamos ver mais alguns detalhes:

  • Ganha a equipe que resolver mais problemas.
  • Em caso de empate, ganha quem fez em menor tempo.
  • A correção é feita em tempo real. Caso sua resposta seja julgada errada a equipe é imediatamente avisada e tem a oportunidade de remandar o problema, caso esteja certo, a equipe recebe um balão referente ao problema que acabou de acertar.

Isso mesmo, um balão, olha que bonito que fica:

Além disso os balões são utilizados como referência, ou seja, você tem uma demonstração visual do desempenho das demais equipes, por exemplo, na imagem acima, vemos muitos balões azuis, logo, muito provavelmente o problema referente ao balão azul é um dos mais fáceis da prova, sendo assim, você deve começar com ele já que tempo é essencial.

Conhecendo os tipos de problemas

A essa altura você deve estar se perguntando:

Mas que tipo de problemas aparecem nessa competição?

Bem, os problemas envolvem programação dinâmica, teoria dos grafos, fluxo, estruturas de dados entre diversos outros campos da computação.

Calma, vou especificar um pouco melhor, olha aí um exemplo de problema para você tentar resolver:

Benefícios da maratona para o mercado de programação

Agora você deve estar pensando que isso tudo parece muito teórico e nada prático, então por que um bom desempenho nesta competição seria um diferencial no seu currículo? Vamos lá.

Um bom maratonista sabe trabalhar em equipe, afinal, são 3 pessoas em apenas um computador, portanto vai bem a equipe que souber se comunicar e delegar melhor as tarefas que surgem.

Também deve saber trabalhar sob pressão, não só por ter pouco tempo para fazer os problemas mas também saber controlar os nervos ao ver o desempenho dos seus demais concorrentes, por exemplo, imagine só você no meio da competição travado em um problema vendo balões chegando a todo momento, complicado né?

Como se tudo isso já não bastasse, o bom competidor deve ter raciocínio lógico rápido e programar com agilidade e precisão, afinal, erros custam muito tempo.

Agora pense bem, não são essas qualidades que as empresas procuram em seus profissionais?

É muito comum maratonistas em destaque serem contratados por grandes empresas como Google e Facebook devido à similaridade dos problemas da competição com os apresentados nas entrevistas técnicas dessas empresas.

Ganhos além do currículo

Ainda não está convencido se deve ou não participar? Bom, indiretamente a Maratona te proporciona experiências incríveis.

As finais mundiais da competição são sediadas cada ano em um país diferente, você tem então a oportunidade entrar em contato com programadores do mundo todo, melhorar seu networking e ainda por cima conhecer diferentes culturas e lugares.

E então, vai participar? Para mais informações sobre a competição acesse esse link.

Algumas dicas para se preparar

Agora, caso você queira testar suas habilidades existem diversos sites que simulam a competição, dentre eles, eu recomendaria o codeforces que contém simulações online periódicas porém requer o domínio do inglês.

Além do codeforces também tem o URI que é excelente para quem está começando pois possui seus problemas separados por assunto, contando até mesmo com uma categoria especial voltada para iniciantes.

Além disso, vale lembrar que o URI é um site brasileiro e por isso seu conteúdo pode ser visto em português!

O que achou da maratona de programação? Deixe o seu comentário 😀

Fique por dentro

  • Prof. Ed – ED1rac

    Excelente dica. Vou compartilhar o post com meus alunos!

    • Giovana Delfino

      Que bom que gostou 🙂

  • Michell Sarno

    As maratonas de programação foram muito úteis na minha formação, parabéns pelo Post!!
    Espero que os alunos possam passar por esta experiência ao menos uma vez.

  • Cristiano Gonçalves

    Olá, moro em uma cidade do interior e que não tem praticamente nada aqui perto… Vi o post e estou pensando em organizar uma maratona com o pessoal da região, minha duvida é em relação a linguagem. Tem alguma restrição? Ou as equipes só precisam entregar a solução independente do caminho que utilizaram? E por fim, todos os problemas são liberados no inicio da maratona ou são apresentados por etapas?

    • Giovana Delfino

      Oi Cristiano.
      A Maratona de Programação oficial aceita C, C++, Java e Python e as provas são divulgadas por etapas no mesmo dia de aplicação. Se você pretende se inscrever como sede para participar oficialmente dá uma olhada nas regras e datas por esse link aqui http://maratona.ime.usp.br/.
      Agora se você quer apenas simular uma maratona com os times da sua região, então basta pegar problemas de diversos sites (como os citados no post acima) e montar sua própria prova e nesse caso as linguagens aceitas são as mesmas do site que você pegou os problemas.
      Espero ter ajudado.

Próximo ArtigoO profissional de marketing digital