Informação

Enquadramento

    A prestigiada instituição americana "Association for Computing Machinery" (ACM) promove anualmente a realização do "The ACM International Collegiate Programming Contest" (ACMICPC), um concurso mundial de programação envolvendo equipas de alunos universitários. Este tipo de evento teve início em 1970 como um concurso local, no estado do Texas e, entretanto, cresceu de forma quase exponencial, quer no número de universidades participantes, quer no número de países envolvidos. No ano de 2000 estiveram envolvidas cerca de 2700 equipas, de 1079 universidades, de 70 países, participantes em 42 concursos regionais repartidos por 82 localizações. Destes concursos, apuraram-se 60 equipas para a final mundial que se realizou em Março de 2001 em Vancouver no Canadá.

    Este evento tem sido mais recentemente designado também como "the Superbowl of Computer Programming" ou mesmo como "the Olympic Games of Computer Science".

    Portugal está inserido na região sudoeste da Europa juntamente com Espanha, França, Itália, Suiça, parte oeste da Austria e parte oeste da Alemanha. Em 2001, o evento Southwestern Europe Regional ACM Programming Contest (SWERC), realiza-se no Porto a de 16 a 18 de Novembro. Em 2000 este evento teve lugar na Universidade de Valladolid, Espanha (veja os resultados).

Topo Topo da página

Porquê um concurso de programação nacional?

    A organização em Portugal de um evento análogo à SWERC, como se pretende que seja a Maratona Inter-Universitária de Programação, tem como principal objectivo alertar, cativar, motivar e preparar equipas de instituições universitárias portuguesas para uma participação meritória a nível internacional.

    Este tipo de concursos proporcionam aos alunos uma oportunidade de demonstrarem, e melhorarem, os seus conhecimentos e capacidades de resolução de problemas e de informática. Além do convívio que uma competição como esta proporciona, o concurso constitui também uma excelente oportunidade para estabelecer novos contactos.

Topo Topo da página

No que consiste um concurso de programação?

    Resolver o maior número de problemas no menor tempo possível. Num concurso típico, são propostos 8 a 9 problemas para serem resolvidos em 5 horas por equipas com no máximo 3 elementos. Destreza na resolução de problemas, bons conhecimentos de algoritmos, rapidez de programação e bom espirito de equipa são factores importantes. Na MIUP serão usadas as linguagens de programação C, C++, Java e Pascal.

Topo Topo da página

Qual o tipo de problemas que são colocados?

    Os problemas são descrições de tarefas que podem ser automatizadas. Geralmente cobrem um vasto leque de áreas de aplicação, centrando-se a sua descrição nos requisitos de utilizador. Não será de esperar que a resolução de um problema se reduza à escrita de um algoritmo de ordenação, mas é razoável que envolva uma fase de ordenação, por exemplo para apresentação dos resultados ordenados. Muitos dos problemas procuram simular o tipo de problemas que poderão ocorrer em situações reais numa empresa. Os problemas variam em grau de dificuldade, desde os simples aos que podem constituir um autêntico desafio.

Topo Topo da página

Que tipo de conhecimentos é suposto ter-se para poder competir?

    Os juizes que preparam os problemas assumem que os alunos têm conhecimentos de inglês, matemática básica ao nível dos primeiros anos das licenciaturas de informática (algebra, geometria, trigonometria, matemática discreta e geometria analítica), e de informática com especial ênfase em algoritmos e estruturas de dados. Os problemas não requerem conhecimentos prévios de uma área específica de aplicação. A descrição do problema será auto-suficiente, incluindo qualquer conhecimento específico de uma dada área que seja necessário à compreensão do problema.

    Alguns problemas requerem um conhecimento de técnicas mais avançadas de informática, nomeadamente, retrocesso (backtracking), caminhos mínimos, máquinas de estado, teoria da informação, computação gráfica, etc.

Topo Topo da página

Como te podes preparar para a MIUP?

    Nisto, como noutras coisas da vida, não há nada como praticar. É claro que também deves tentar ter uma boa base teórica, mas o ideal é veres enunciados de problemas que tenham saido em concursos ACM, tentando resolvê-los. Podes inclusive aproveitar a avaliação automática que alguns sites te proporcionam, imitando na "perfeição" o ambiente do concurso. Espreita a secção respectiva (Repositórios de Problemas) nas nossas ligações.

Topo Topo da página

Organização do Concurso

    A organização da MIUP envolve duas comissões, uma comissão de organização local e outra de carácter científico. Em 2001, a comissão de organização local está a cargo do Departamento de Ciência de Computadores (DCC) da Faculdade de Ciências da Universidade do Porto e envolve sobretudo alunos de licenciatura. A comissão científica terá como função elaborar o conjunto de problemas para o concurso e acompanhar o processo de avaliação durante a prova. Esta comissão é composta por docentes representantes de um razoável número de instituições universitárias.

    A avaliação dos problemas submetidos pelas equipas no decorrer da prova será feita por um avaliador automático desenvolvido no DCC. Caberá ao júri da prova, composto por membros da comissão científica, confirmar os resultados do avaliador automático, responder a dúvidas apresentadas pelas equipas e decidir sobre eventuais problemas que surjam no decorrer da prova.

Comissão Científica

 

Comissão Organizadora

Coordenador:

Sistema de Avaliação e Administração de Sistemas:

Alunos (Ciência de Computadores)

Topo Topo da página

 

 

Enquadramento
Porquê a MIUP?
Em que consiste?
Tipo de problemas
Tipo de conhecimentos
Como preparar?
Organização


Última actualização:
Copyright © 2001 - Departamento de Ciência de Computadores/FCUP
Html & Gráficos por Pedro Ribeiro ; Comentários para Prof. Fernando Silva