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