Home   |   Structure   |   Research   |   Resources   |   Members   |   Training   |   Activities   |   Contact

EN | PT

1516CTRMEI852b

1516CTRMEI852b

Género de textoArtigo de divulgação
ContextoLivre
DisciplinaComunicação Técnica
ÁreaCiências

O script do Java parece estar desligado, ou então houve um erro de comunicação. Ligue o script do Java para mais opções de representação.

Programação Competitiva: Como e porquê começar?

A importância da programação competitiva vai para além dos torneios e das capacidades enquanto programador, visto ser extremamente relevante a nível de empregabilidade para cada participante, algo que pode mudar a perspetiva como é vista a programação de competição. Contudo, existem ainda muitas pessoas em Portugal que gostariam de experimentar esta modalidade e não sabem como começar.

Pode-se dizer que, em Portugal, a maior competição é a MIUP, na qual os participantes se podem inscrever através das suas universidades. É uma competição que serve de apuramento para competições internacionais que depois seleccionam os candidatos a participar na maior prova internacional, a ACM ICPC. Para se participar nestas provas é preciso uma boa preparação com treino específico, que é aconselhável antes de se entrar nas competições. Pode-se encontrar diversos programas de treino online em várias plataformas dedicadas a esta área, entre as quais o Codechef, o HackerRank, o Codeforces, etc.

Estas plataformas são excelentes meios de iniciação à programação competitiva, visto possuírem imensos programas de treino e organizarem competições e eventos para programadores, bem como fóruns e grupos de Facebook que promovem e fortalecem a interação entre os participantes, através do esclarecimento de dúvidas e da partilha de informação.

Por outro lado, também se começar a participar nesta modalidade lendo a bibliografia da área. O livro mais conhecido chama-se Competitive Programming, da autoria de Steven e Felix Halim, que contém ensinamentos sobre estrutura de dados, algoritmos e programação. Foi escrito para pessoas com algum conhecimento de programação, como estudantes que queiram participar em competições como o IOI ou o ACM ICPC, mas também pessoas que programem apenas por gosto.

Existe ainda o CareerCup, que possui uma enorme variedade de livros e tutoriais que explicam qual o comportamento adequado a uma entrevista de emprego desta área. O seu livro mais popular chama-se Cracking the Coding Interview, escrito por Gayle McDowell, e foca-se em entrevistas sobre Engenharia de Software e programação, duas das áreas mais procuradas pelos grandes empregadores.

Como foi referido, pode haver diferentes motivos para participar em competições de programação, quer seja pelo gosto de programar e de competir com amigos, quer seja para aprender e dominar novas linguagens. No entanto, as razões que levam a maioria das pessoas a participar são mais sérias, como o desenvolvimento das aptidões de programar, como a velocidade a escrever código ou a rapidez e capacidade de chegar às melhores soluções mais rápido, aspetos fulcrais para um bom desempenho enquanto programador.

Porém, a maior vantagem da programação competitiva é o contacto que se estabelece com as maiores empresas da área, que usam estas competições como locais primordiais de recrutamento para novos técnicos e programadores, sendo comum pedirem os currículos aos participantes. As entrevistas de emprego nesta área seguem precisamente o formato dos desafios presentes nas competições, logo pode-se concluir que treinar para as competições é treinar para as entrevistas de emprego. Em suma, pode-se dizer que a programação de competição é um excelente meio de se desenvolver as aptidões enquanto programador, mas também para se preparar o futuro.


Download text