Roteiro de Configuração.
Transcrição
Roteiro de Configuração.
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 Roteiro para configuração de MiniMaratona de programação 1 INFORMAÇÕES GERAIS: Este roteiro tem o objetivo de orientar os responsáveis pelas minimaratonas em cada escola. 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. Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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: Roteiro para configuração de MiniMaratona de programaçã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 Roteiro para configuração de MiniMaratona de programação 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. Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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. Roteiro para configuração de MiniMaratona de programação 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. Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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. Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 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: Roteiro para configuração de MiniMaratona de programação 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 Roteiro para configuração de MiniMaratona de programação 17