MiniMaratonas de Programação fevereiro 29 2012 Instruções gerais aos organizadores de minimaratonas de programação Roteiro para configuração da competição
SUMÁRIO Informações gerais:... 2 Roteiro para realização das minimaratonas:... 3 Configurado pelo próprio realizador :... 3 configurações iniciais... 3 Acessando o sistema como administrador... 5 definição dos parâmetros da competição... 6 Cadastro dos usuários do sistema... 6 Cadastro das linguagens aceitas na competição... 11 cadastro das provas da competição... 12 Configurado por um associado Algar Telecom:... 14 Julgamento das questões durante a maratona... 15 1
INFORMAÇÕES GERAIS: escola. Este roteiro tem o objetivo de orientar os responsáveis pelas minimaratonas em cada Estas competições realizadas nas escolas tem o intuito de treinar os alunos para as maratonas regionais e nacionais e portanto é sugerida a utilização do mesmo ambiente, nesse caso, o software BOCA. O documento foi desenvolvido para os organizadores das minimaratonas nas escolas terem informações precisas de todos os passos necessários para a organização de uma maratona. Dois casos estão sendo abordados, o caso de o próprio organizador configurar o ambiente e o caso de o ambiente ser configurado por um associado Algar Telecom. Para ambos os casos as escolas precisarão providenciar um laboratório com acesso à internet e um computador para cada maratonista ou equipe que pode ser o notebook pessoal dos alunos, ficando a critério da organização as medidas de segurança a serem tomadas. Todos os computadores da competição devem possuir instalados e configurados os compiladores das linguagens C, C++ e JAVA e algum editor de código. Usualmente as maratonas são realizadas em ambiente Linux, tornando comum a edição por editor de texto simples e compilação e execução de código pelo console, o que não impede a presença de IDE s tais como geany e eclipse. Usualmente nas maratonas regionais e nacionais é utilizada a dinâmica da pontuação por meio de balões durante a competição, o que é encorajado devido à ambientação dos maratonistas no sistema das maratonas. Outra prática interessante é a de fotografar os acontecimentos, criando uma documentação interessante para o site que pode ser utilizada em divulgações futuras. 2
ROTEIRO PARA REALIZAÇÃO DAS MINIMARATONAS: CONFIGURADO PELO PRÓPRIO REALIZADOR : CONFIGURAÇÕES INICIAIS Entrar em contato com a Algar Telecom a respeito da vontade da escola de participar, com a finalidade de ser criado nos servidores o banco de dados da escola e o link para acesso no sistema BOCA; Fornecer para a Algar Telecom a data e hora de realização da minimaratona a fim de serem realizadas as configurações necessárias nos servidores; Acessar o sistema através do usuário system, cuja senha é fornecida ao organizador com a finalidade de criar um novo contest. Cada maratona necessita de um novo contest e que o mesmo seja habilitado: o Clicar na aba contest e preencher as opções de acordo com o desejado: Figura 1 - Página do usuário system e suas opções 3
Figura 2 - opções para criação do contest Selecionar o contest criado para ser ativado e clicar em activate : Figura 3 - seleção do contest desejado 4
ACESSANDO O SISTEMA COMO ADMINISTRADOR Acessar o sistema com o usuário admin inicialmente definido sem senha, acessar a aba options e definir uma senha para este usuário; Figura 4 - página de login do usuário Figura 5 Página de troca de senha do usuário 5
DEFINIÇÃO DOS PARÂMETROS DA COMPETIÇÃO Acessar a aba contest e definir os parâmetros da competição a ser iniciada tais como nome da competição, horário e data de início, duração, tempo para parar de receber submissões de respostas, tempo para congelar o placar, tempo de penalidade caso uma resposta errada seja submetida e tamanho máximo de arquivo a ser recebido. Após as configurações feitas, clicar em update e a competição haverá sido criada ; Figura 6 - página de configuração do campeonato CADASTRO DOS USUÁRIOS DO SISTEMA Acessar a aba users e cadastrar os usuários do sistema, sendo os competidores, os juízes, staff e o usuário score. Os usuários podem ser inseridos individualmente pela interface ou através de um arquivo txt com todas as informações de todos os usuários seguindo o seguinte padrão: 6
Os usuários serão separados por espaços e o tipo de usuário ( usertype ) irá diferenciar os maratonistas dos juízes, staff e administradores: usernumber=1 usersitenumber=1 username=team1 userfullname=alan Lopes Cardoso userdesc=unitri usertype=team userpassword=team1 userip=10.0.99.1 Figura 7 - página de inserção dos usuários 7
Figura 8 - exemplo de inserção de usuário individualmente A figura acima demonstra a inserção de usuário individualmente, como supõe a imagem, os campos User Number, Username, Type, Enabled, Multilogins, User Full Name, User Description e Password foram preenchidos e são suficientes para a descrição de um usuário da maratona. 8
A seguir será mostrado o cadastro de usuários através do seguinte arquivo.txt: Figura 9 - arquivo de cadastro de usuários Figura 10 - cadastro de usuários por arquivo.txt 9
Após o arquivo selecionado, clica-se em import e todos os usuários cadastrados no arquivo. Em seguida a descrição dos campos: Descrição dos campos: usernumber=1 Valor arbitrário que não deve ser repetido; usersitenumber=1 Coincide com o torneio criado; username=team1 Nome usado para login; userfullname=alan Lopes Cardoso Nome completo do usuário; userdesc=unitri Descrição do usuário; usertype=team Tipo de usuário, no caso, competidor*; userpassword=team1 Senha do usuário (pode ser modificada); userip=10.0.99.1 IP correspondente à máquina de acesso** * Os tipos de usuário possíveis são: "team, staff, judge, admin e score. ** Pode ser deixado em branco, sendo preenchido após o primeiro login do usuário. 10
CADASTRO DAS LINGUAGENS ACEITAS NA COMPETIÇÃO Acessar a aba languages e configurar as três linguagens aceitas na maratona, no caso C, C++ e JAVA; Figura 11 - página de configuração das linguagens As linguagens são inseridas individualmente através dos arquivos [nome da linguagem].run seguidos do arquivo compare.sh que serão fornecidos em anexo. 11
CADASTRO DAS PROVAS DA COMPETIÇÃO Cadastrar os problemas a serem resolvidos pelos alunos pela aba problems através do número do problema, nome, nome completo, nome base ou basename, arquivo descritivo em pdf, arquivo.in com as entradas utilizadas para teste do problema, arquivo.sol com as saídas equivalentes, tempo limite de execução, nome da cor do balão e cor do balão no formato RGB HTML. O basename cadastrado deve ser idêntico aos arquivos.in e.sol, pois o sistema utiliza os nomes para comparar as respostas dos programas enviados pelos alunos ; Figura 12 - página de configuração dos problemas da prova 12
Figura 13 - exemplo de cadastro de prova Para este exemplo foi escolhido o problema soma, nos campos name e fullname pode ser colocado nomes diferentes, porém no campo basename, o nome utilizado deve ser idêntico ao dos arquivos.in e.sol, como foi exemplificado acima. Deve ser idêntico também ao nome dos problemas submetidos pelos alunos. Após o sistema configurado, devem ser fornecidas aos competidores as informações relativas ao acesso assim como as questões impressas para análise. 13
CONFIGURADO POR UM ASSOCIADO ALGAR TELECOM: Fornecer para a Algar Telecom a data e hora de realização da minimaratona com uma antecedência mínima de uma semana a fim de serem realizadas as configurações necessárias nos servidores e a configuração do ambiente; Fornecer uma lista com os nomes dos competidores, staff e juízes. Escolher o número de questões e a dificuldade de cada uma, as questões serão selecionadas no banco de questões da Algar Telecom; Depois de configurado o ambiente o organizador poderá acessar e modificar os parâmetros caso haja necessidade, a Algar Telecom irá entrar em contato para informar as questões inseridas, assim como os dados de login de todos os usuários, possibilitando assim o início da competição. De posse de todos os dados, caberá à organização apenas fornecer um laboratório com acesso à internet para cada competidor e se possível as questões impressas para serem analisadas pelos competidores. As orientações necessárias para os participantes se encontram no site: Manual Boca para o maratonista Informações adicionais sobre a organização do evento classificatório para as nacionais podem ser encontradas no seguinte documento: Maratona de programação - manual do diretor de sede 14
JULGAMENTO DAS QUESTÕES DURANTE A MARATONA O usuário deve se autenticar no sistema utilizando o usuário admin ; Acessar a aba Runs para ter acesso a todas as tentativas enviadas pelos competidores. As questões marcadas com o Status openrun são as que ainda não foram julgadas, portanto, clica-se no número da coluna Run # para ter acesso à página de julgamento; Figura 14 - aba Runs com questão aberta para julgamento Figura 15 - página de julgamento com resposta do autojudge 15
Verificar se a resposta do autojudge já está disponível, se não, recarregar a página até haver resposta; No campo Autojudge answer pode ser conferida a resposta, caso haja nela o texto: Files Match exactly, a resposta no campo Answer acima deve ser YES, significando que o aluno acertou a resposta; Figura 16 - Página de julgamento com a resposta YES Caso o Competidor tenha submetido uma solução errada ou de qualquer forma incompatível com o formato da maratona, a resposta do autojudge irá indicar a resposta que o administrador deve dar para a questão, por exemplo: 16
Figura 17 - submissão de resposta errada para o problema Neste caso, a resposta submetida roda normalmente mas processa a resposta errada para o problema, indicando a resposta: NO wrong answer. Depois da questão julgada o juiz volta para a aba Runs e pode conferir as questões já avaliadas e as questões ainda abertas para serem avaliadas: Figura 18 - questão já avaliada pelo juiz 17