Depois de vencer 585 equipes e conquistar a primeira colocação na Maratona Brasileira de Programação, equipe do ICMC vai encarar a final mundial do torneio
O professor Gustavo e o técnico Filipe (em pé, da esquerda para a direita) apoiam os competidores Bruno, Bianca e Luis Fernando |
Enquanto os olhos do mundo se voltam para o Brasil às vésperas da abertura da Copa do Mundo 2014, uma equipe do Instituto de Ciências Matemáticas e de Computação (ICMC) da USP, em São Carlos, está prestes a defender o país numa outra competição de caráter internacional: a Maratona Mundial de Programação (International Collegiate Programming Contest – ICPC), que acontece de 23 a 25 de junho na Rússia.
De malas prontas, a equipe embarca dia 19 de junho para as terras geladas que separam o continente europeu e asiático, rumo à Universidade Federal de Ural, localizada em Ekaterinburg, a quarta maior cidade russa. Formada pelos cientistas de computação Bianca Oe, Bruno Adami e Luis Fernando de Abreu, a equipe recebeu o nome de Ñtemtempabobagi e tem como técnico o mestrando Filipe Nascimento.
Mais de 30 mil estudantes de 2,3 mil universidades localizadas em 91 países competiram nas maratonas regionais para garantirem o direito de ir à Rússia participar do mundial. Apenas 122 equipes chegaram até lá, todas elas compostas por três competidores e um técnico. Além da equipe do ICMC, mais cinco equipes brasileiras foram classificadas para ir à Rússia após a 18ª edição da Maratona de Programação – realizada no dia 9 de novembro do ano passado, em Uberlândia (MG). Organizada pela Sociedade Brasileira de Computação (SBC), a competição brasileira envolveu 586 equipes de 182 instituições de ensino superior de todo o Brasil. A equipe do ICMC foi a grande vencedora da competição.
Equipe conquistou primeiro lugar no Brasil e trouxe troféu para o ICMC |
“Na Rússia, na verdade, não temos uma competição homogênea. Há uma grande diferença entre o nível dos competidores de acordo com as regiões do mundo. Como técnico, minha expectativa é ficar em primeiro lugar entre as equipes latino americanas. Mas essa é uma tarefa extremamente difícil. Se ficarmos entre os melhores da América Latina, já estará muito bom. Terminar entre as 50 melhores equipes do mundo é um sonho”, revelou Nascimento.
Apesar da abertura do mundial acontecer no dia 23, a final só será disputada dia 25, quando os programadores têm exatas 5 horas para tentar resolver entre 10 e 12 difíceis problemas computacionais. “Há um salto muito grande quando comparamos o nível de dificuldade da competição nacional e do mundial. É como se estivéssemos nos preparando para uma outra prova”, afirmou o professor do ICMC Gustavo Batista. Para se ter uma ideia do nível da disputa, no ano passado, a equipe russa vencedora do mundial (Saint Petersburg State University of Information Technologies, Mechanics and Optics) conseguiu resolver 10 dos 11 problemas propostos.
O professor explica que, tradicionalmente, os problemas apresentados na competição trazem sempre um contexto prático para, depois, desafiar as equipes a criarem algoritmos – sequências de comandos passados para um computador – capazes de resolver aqueles problemas. Um exemplo prático desse tipo de problema em computação: traçar uma rota mostrando o caminho mínimo que uma pessoa deve percorrer para chegar de um ponto a outro de uma cidade, usando um GPS (Global Positioning System). “No caso desse exemplo, para verificar se a solução proposta por uma equipe está correta, criam-se várias possibilidades de caminhos, vários mapas, que são as respostas esperadas. Essas prováveis soluções são inseridas em um programa de computador, capaz de verificar automaticamente se os mapas criados pelas equipes correspondem à resposta correta”, exemplificou.
Assim, durante a competição na Rússia, quando as equipes inserem suas respostas no computador – e há apenas um computador para cada equipe – automaticamente o sistema verifica se a solução proposta está correta. Quanto maior o número de problemas resolvidos, maior a chance da equipe se consagrar vencedora. Por isso, o tempo é outro fator relevante nesse jogo.
Amistosos marcam treinamentos – Os seis times brasileiros que irão à Rússia participaram de um curso de preparação no Instituto de Computação da Unicamp, promovido pela SBC, em que puderam ouvir a opinião de ex-competidores, inclusive estrangeiros. O treinamento foi realizado em duas etapas: janeiro e maio.
Além dessa preparação, as equipes brasileiras criaram seus próprios amistosos. “Usamos provas que já haviam sido aplicadas em competições regionais no mundo e combinamos com todas as equipes brasileiras que resolveríamos aqueles problemas juntos, cada time no seu lugar, ligados pela internet. Assim, tínhamos um placar funcionando e podíamos acompanhar a evolução de cada time”, contou Bruno Adami. Se um dos times resolvia um desafio que os demais não conseguiam, compartilhava a solução com os demais. Nesse jogo, competição e cooperação andavam juntas.
Esforço da equipe foi reconhecido em homenagem no ICMC |
Google e Facebook no currículo – Mas, afinal, qual vantagem um estudante tem ao participar desse tipo de maratona de programação? “Antes de entrar para a maratona, eu tinha sido reprovado em 4 matérias. Depois, não reprovei em nenhuma. Estudar ficou mais fácil e comecei a gostar disso”, confessou Bruno. Ele e seus colegas de equipe participam das maratonas desde quando começaram a cursar Ciências de Computação no ICMC.
Segundo o professor Gustavo Batista, a maioria das grandes empresas da área de tecnologia, como Google e Facebook, por exemplo, aplicam em seus processos de seleção questões muito similares às que aparecem nas maratonas de programação. Dessa forma, participar das maratonas passa a ser também uma vantagem competitiva no mercado de trabalho.
Não é à toa que todos os membros da equipe do ICMC que irão à Rússia carregam a marca do Google ou do Facebook em seus currículos. Todos eles se formaram em 2013. Luis Fernando estagiou durante três meses no Facebook em Palo Alto, nos Estados Unidos e, atualmente, faz mestrado no ICMC. Bianca também é mestranda no Instituto e, assim como Bruno, estagiou no Google nos Estados Unidos. Mas Bianca passou sua temporada de três meses na empresa em Mountain View, enquanto Bruno ficou em Nova York. Após esse período de estágio, Bruno foi contratado pela empresa e, em breve, vai se mudar para os Estados Unidos.
Uma história de esforço e investimento – A chegada do ICMC ao primeiro lugar no pódio brasileiro da Maratona de Programação e a ida da equipe à Rússia é resultado de um trabalho que vem acontecendo desde 1996. No gráfico a seguir, é possível acompanhar a evolução da participação do Instituto na competição desde 2007. “É notável o crescimento do ICMC nos últimos anos, quando o Instituto saltou de posições intermediárias (15º a 27º) para as primeiras posições do ranking”, constatou Gustavo Batista.
Gráfico mostra evolução da participação do ICMC na competição |
De acordo com o professor, entre os motivos que levaram a essa evolução está a criação do Grupo de Estudos da Maratona de Programação (GEMA) em 2007, o qual realiza, durante todo o ano, treinamentos em laboratório e reuniões semanais. “Acredito que, assim como levou tempo para dominarmos a competição nacional, também levará tempo para que possamos nos sair bem no mundial. Vamos precisar participar duas, três, quatro vezes até que possamos compreender melhor como funciona essa prova e quais são suas tendências”, opinou.
Nesse contexto, fica a valiosa dica do técnico Filipe Nascimento: “Treine muito e não se sinta frustrado facilmente. Se fosse fácil, não haveria competições”.
Texto e fotos: Denise Casatti - Assessoria de Comunicação ICMC/USP
Mais informações
Assessoria de Comunicação do ICMC
E-mail: comunica@icmc.usp.br
Telefone: (16) 3373.9666
Assessoria de Comunicação do ICMC
E-mail: comunica@icmc.usp.br
Telefone: (16) 3373.9666