diff options
| author | cassio <cassiopc@gmail.com> | 2013-07-02 05:46:45 +0000 |
|---|---|---|
| committer | cassio <cassiopc@gmail.com> | 2013-07-02 05:46:45 +0000 |
| commit | be2491b093b1f0ca430bede679ecbb670041e483 (patch) | |
| tree | fe2da63d1811cb93e4352a43a113ace37b9f6017 /doc/html | |
| parent | a9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (diff) | |
| download | boca-be2491b093b1f0ca430bede679ecbb670041e483.tar.gz boca-be2491b093b1f0ca430bede679ecbb670041e483.zip | |
restructuring of boca's git
Diffstat (limited to 'doc/html')
| -rw-r--r-- | doc/html/.htaccess | 1 | ||||
| -rw-r--r-- | doc/html/manualjudge.en.html | 203 | ||||
| -rw-r--r-- | doc/html/manualjudge.pt_br.html | 219 | ||||
| -rw-r--r-- | doc/html/manualteam.en.html | 198 | ||||
| -rw-r--r-- | doc/html/manualteam.pt_br.html | 227 |
5 files changed, 848 insertions, 0 deletions
diff --git a/doc/html/.htaccess b/doc/html/.htaccess new file mode 100644 index 0000000..605d2f4 --- /dev/null +++ b/doc/html/.htaccess @@ -0,0 +1 @@ +Allow from all diff --git a/doc/html/manualjudge.en.html b/doc/html/manualjudge.en.html new file mode 100644 index 0000000..a7f8a0e --- /dev/null +++ b/doc/html/manualjudge.en.html @@ -0,0 +1,203 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head> + +<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> +<title>BOCA Manual for the judges</title> +</head> +<body bgcolor="white" link="blue" vlink="blue"> +<font size="5"><b>BOCA Online Contest Administrator</b></font> +<p><b>BOCA Reference Manual for judges<font size="5"> - </font> +version October/2011 (BOCA 1.4.1+)</b> +</p> + +<p><font size="1">Copyright (c) 2006-2011 Cassio P. de Campos (cassio@ime.usp.br).<br> +Permission is granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation License, Version 1.2 or any later +version published by the Free Software Foundation; with no Invariant Sections, +no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be +found in <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p> + +<p>BOCA is a software created to control a contest with the <i>ACM International Collegiate +Programming Contest</i> rules. It has been developed in PHP and the interaction between judges +and the system is done through a <i>web browser</i>. In the following we describe +the set of available features for a judge in the system.</p> + +<p>It is assumed here that the judge has already logged in the system with their +<i>username</i> and <i>password</i> in a windows of their browser. Tthe <i>URL</i> +to access BOCA will depend on the setup of your server. Usually this URL ends with +<i>/boca/</i>, where a simple authentication form will show up. + +<p> +After a successful login, the web page contains the judge identification in the upper-left +corner. In the upper-right corner, the clock of the contest is shown, indicating if it has +started or not, if it has already ended, stopped, or in progress, in which case the number of +minutes to go are displayed. Below that, there is a set of options in a vertical menu, namely +<i>Runs, Score, Clarifications, History, As Team, Options e Logout.</i> +There is still an extra option named <i>Chief</i> which only appear to the chief judge, who +has to be appointed in the admin's interface (with in the <i>Site</i> options). +</p> + +<p><font size="4"><b>Runs</b></font></p> +<p> In this area, the judge might visualize the runs that are still to be judged and shall be +taken care of. In order to process a run, the judge has to click in its number (eventually a +message might pop up here indicating the run was already taken; this happens if another judge +got the run before you). After clicking on the run to judge, a new set of data appear about it: + +<ol> +<li><b>Site</b>: site number of the run.</li> +<li><b>Number</b>: run number.</li> +<li><b>Time</b>: minutes from the start of the competition until this submission.</li> +<li><b>Problem</b> <i>X</i>: <i>X</i> is the name of problem. There are links +to download the input and output files (click on the names), or simply to visualize them in the browser (click on view). +These links are mostly used when the <i>autojudge</i> is turned off or is not running properly for a given problem/language. +Instead, if the <i>autojudge</i> feature is working correctly, then the judge can directly to go the links in the bottom part of +the page in order to see the expected output together with the output generated by the team. +</li> +<li><b>Language</b> <i>Y</i>: <i>Y</i> is the language chosen by the team. The scripts that are used to +compile and execute the submission with this language are available through links. +When using the <i>autojudge</i>, note that is not necessary to use this links, because the results are +already shown in the bottom of the page. +</li> +<li><b>Source code</b>: here it is possible to <i>view</i> or download the submitted file. An important +task is to check if the name and extension of this file are correct with respect to the chosen problem, language, +and the specification in the booklet of problem descriptions. +</li> +<li><b>Answer</b>: the judge has to choose, among the options available in the system (which were configured by the admin), +the correct answer to be sent to the team. +</li> +<li><b>Autojudging answer</b>: here it is presented the suggestion from the <i>autojudge</i> about this submission. +Usually the <i>autojudge</i> properly identify the answer that has to be sent to the team. However, it may +fail to do so. For example, the <i>autojudge</i> might indicate a <b>wrong answer</b>, because the +<i>diff</i> procedure identified the output and expected output to be different, while the only mistake +happened in the punctuation/accent of a letter (this is usually a case of <b>presentation error</b>, but +may vary according to the contest). Other issues might happen, and the role of the judge is to check everything +for eventual mistakes. +</li> +<li><b>Autojudged by</b>: indicates the computer that has acts as <i>autojudge</i>. Usually this is not +much relevant for judging a submission. +</li> +<li><b>Standard output</b>: links for downloading and visualizing the output generated by the team's code are +available. This is the output generated by the team, which is to be compared with the expected output of +the given problem. It might also be possible to see some error, in case it happened. +</li> +<li><b>Standard error</b>: links for downloading and visualizing the standard error output generated by the team's code. +When a error happens (including compilation or runtime errors, but not restricted to them), this is the most probable file to identify it. +The judge must always check the content of this file. In the end of it, the judge also finds the output of the <i>diff</i> command +that has compared the team's output and the expected one (to facilitate the visual inspection). +</li> +</ol> + +<p>By pressing the button named <b>Judge</b>, the judge submits their veredict about the <i>run</i>, and then +has no access to the this <i>run</i> anymore. It is also possible to give up judging the run by clicking +on <b>Cancel</b>, which will send the run back to the pool (and it will be eventually judged by another judge). +</p> + +<p>In the tab <i>Runs</i>, the judge can see all the submissions that are yet to be judged. The colors +represent their status, meaning that they are already been judged by others, or that they are waiting +you to judge them (red color). You must act with respect to those in red, as only you can judge them (or +send them back to the pool). +</p> + +<p></p> +<p><font size="4"><b>Chief</b></font></p> +<p> +Besides acting as a normal judge, there is a designated judge with access to the tab <i>Chief</i>. This tab +is used for the chief judge to resolve disputes regarding submissions that received different answers by different +judges (they are shown in red). The prodecure is equivalent to that of a normal judge, but the decision made in the tab of the chief is +final. The idea is to have the chief judge acting as a tie-breaker between the distinct answers that were assigned to +a <i>run</i>. Hence, if the chief judge is acting as a normal judge (and they may do so), it is recommended to use +the tab <i>Runs</i> instead, leaving the tab <i>Chief</i> only for resolving issues. (In the very special case where there +is a single judge in the competition, then this judge has to be designated as chief and shall use the tab <i>Chief</i> +to judge the runs, otherwise they will never receive the judgement of another judge and thus will not be sent to teams.) +In this same tab, the chief judge is able to ask the <i>autojudge</i> to be re-executed for some submissions (selected by +the boxes besides each of them) or to completely re-open the submission for judging again, which implies in a new round +of autojudging and judging by actual judges. The <b>team does not become aware</b> of this rejudging unless the new final +result for the run has to be changed (with respect to the first round of judgement). +</p> +<p></p> + +<p></p> +<p><font size="4"><b>Score</b></font></p> +<p>In this tab the judge can see the scoreboard of the competition. It has to be noted that the scoreboard available +for the judges is complete and not subject to the freezing of the final part of the contest. Hence, the judge is +expected to keep the scoreboard in secret. In case the scoreboard is consolidated among different sites, the final part +of the other sites is not shown (*this fact is for technical reasons, to be discussed later*). +</p> + +<p><font size="4"><b>Clarifications</b></font></p> +<p>This tab allows the judge to answer <i>clarifications</i> submitted by team regarding +a specific problem or any general aspect of the contest. +In order to reply to a <i>clarification</i>, the judge must first <b>click on the clarification number</b>. +The box available in the bottom part is meant for creating a new clarification, as judges are allowed to do +so. The new clarification will only be meaningful if the judge that gets it to answer selected the reply to all +option (explained in the next paragraph). This is useful for the judges to send a general information to the teams. +</p> + +<p>After clicking on the clarification number, the judge sees information about it, such as +site number, clarification number, time in minutes from the start of the competition, and the +problem to which the clarification regards. There are two text boxes: one with the question (on top) +and one to be filled with the reply. Finally, there is a selection box to indicate if the reply +should be sent to all the teams or just the the team that posted the question. +</p> + +<p>The system also allows the judge to select the <u><i>No response</i></u> button. In general +this is used for questions that are already stated in the booklet of problem descriptions, or +that has already been replied, or even that should not be answered at all (for example, about +the timelimit of a problem, or about some sensitive information of the input/output). +</p> + +<p><font size="4"><b>History</b></font></p> +<p>This tab shows the history of <i>Clarifications</i> and +<i>Runs</i> that were processed by the judge so far. +</p> + +<p><font size="4"><b>Options</b></font></p> +<p>This tab shows the information of the judge, such as <i>Username, +User</i> <i>full name </i>,<i> User description</i>. It is possible +for the judge to update their password, although this is not necessary neither +recommended. Instead it is recommended that the admin who created the users already +specifies secret and safe password for all users. +</p> +<br> + +</p> +<p><font size="4"><i><b>Logout</b></i></font></p> +<p>Button to log out from the judge interface.</p> + +<p><font size="4"><b>Important hints for judges</b></font></p> +<p> While judging a submission, it is necessary to be very careful. Even if it is possible +to alter the judgement of a run afterwards, this has to be avoided as much as possible, because +the team might suffer an undesired situation. +</p> +<p>Every time a judge is about to answer a problem for its first time (that is, the problem has not +been submitted before, or has not received yet any YESes), when possible it is interesting to have other judges +also checking the submission, which should be analyzed with even greater care. Sometimes this is the +moment when an unfortunate issue with the <i>autojudge</i> or with inputs or outputs is discovered +(obviously nobody wants it to happen, but it might). +</p> +<p>In order to reply to <i>clarifications</i>, it is important that the judge has read and understood +the question and the problem to which it concerns. When possible, it is interesting to have the opinion +of the person or group that created the problem description, its input and output. After that, +it is necessary to think if such reply has to be sent only +to this user or to all teams in the contest. If it is a relevant issue and the contest is also offered in +other sites, then the judge shall find a way to contact other sites about the clarification. +Some examples of clarifications that are not disclosured (that is, are replied with a <i>no response</i>) +are +<i>What is the timelimit for this problem?</i>, +<i>Given this input, which is the correct output?</i>, +questions that are already explained in the problem description, +etc. +In case the judge is not certain about it, they must contact the chief judge of the site or the +chief judge of the contest for help. +</p> + +<p><font size="4"><b>About BOCA and this document</b></font></p> +<p>BOCA System and this document have been created by Cassio Polpo de Campos and can be found at +<a href="http://www.ime.usp.br/~cassio/boca/">http://www.ime.usp.br/~cassio/boca/</a>.</p> + +<hr> +<p> +<a href="http://validator.w3.org/check?uri=referer"> +<img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" border="0" height="31" width="88"></a> + +</p></body></html> diff --git a/doc/html/manualjudge.pt_br.html b/doc/html/manualjudge.pt_br.html new file mode 100644 index 0000000..eabeecc --- /dev/null +++ b/doc/html/manualjudge.pt_br.html @@ -0,0 +1,219 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head> + +<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> +<title>Manual do BOCA para as equipes</title> +</head> +<body bgcolor="white" link="blue" vlink="blue"> +<font size="5"><b>BOCA Online Contest Administrator - Sistema de Submissão</b></font> +<p><b>Manual de Referência para os juízes<font size="5"> - </font> +versão setembro/2010 (para o BOCA versão 1.4.x)</b> +</p> + +<p><font size="1">Copyright (c) 2006-2010 Cassio P. de Campos (cassio@ime.usp.br).<br> +Permission is granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation License, Version 1.2 or any later +version published by the Free Software Foundation; with no Invariant Sections, +no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be +found in <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p> + +<p>O BOCA é um <i>software</i> criado para controlar uma competição nos moldes +da Maratona de Programação da SBC. Foi feito em PHP e a interação dos juízes +com o sistema é feita usando-se um <i>browser</i>. A seguir descrevemos a +interface disponível no BOCA para os juízes e suas principais funções.</p> + +<p>Neste texto será assumido que o juiz já realizou o seu +<i>login</i> na máquina e abriu uma janela do navegador (leia +as instruções sobre o Maratona Linux ou sobre o sistema que +estiver sendo utilizado). O BOCA é acessado através de uma +<i>URL</i> (usualmente a página se chama +http://mainserver/boca ou http://bocaserver/boca). +Ao carregar a página, o juiz deverá ver a +tela de <i>login</i> do BOCA. Basta digitar o <i>login</i> do +BOCA fornecido ao juiz e a sua senha correspondente.</p> + +<p>Após realizar o <i>login</i> com sucesso, uma página deverá ser aberta +contendo a identificação do juiz no canto superior esquerdo. +No canto superior +direito haverá a informação sobre o estado da competição: ou ainda não +começou, ou já acabou, ou está parada, ou a competição está em andamento e a +quantidade de minutos restantes será mostrada. Mais abaixo dessas primeiras +linhas estarão seis opções, que representam a interface propriamente dita do +BOCA. Estas seis opções são: <i>Runs, +Score, Clarifications, History, Options e Logout.</i> +Existe ainda uma opção extra para o juiz chefe (que deve ser previamente apontado através da +interface do admin no sistema): <i>Chief</i>. Ela não está disponível para os demais juízes. +</p> + +<p><font size="4"><b>Runs</b></font></p> +<p>Ao entrar nessa opção, o juiz poderá visualizar as submissões que ainda +não foram corrigidas e devem ser processadas. Para corrigir uma submissão, +o juiz deve clicar sobre seu número (como é feito o tratamento de concorrência +para que dois ou mais juízes não peguem a mesma <i>Run</i>, neste momento o juiz pode +ser avisado que a <i>Run</i> acaba de ser pega por outro juiz). Ao clicar em uma +submissão, o juiz verá os seguintes campos: +<ol> +<li><b>Site</b>: número do site atual.</li> +<li><b>Number</b>: número da <i>Run</i> sendo julgada.</li> +<li><b>Time</b>: minutos decorridos da competição para esta submissão.</li> +<li><b>Problem</b> <i>X</i>: <i>X</i> é o nome do problema. Ao lado, existem +links para fazer o download (clicando sobre o nome) ou simplesmente visualizar +os arquivos de entrada e saída (clicando em <i>view</i>). Usando o esquema de +autojudging, o importante é ficar atento à saída esperada, comparando-a com a +saída que o programa da equipe gerou.</li> +<li><b>Language</b> <i>Y</i>: <i>Y</i> é a linguagem escolhida pela equipe. Ao +lado aparece o script para compilação e execução nesta linguagem. Note que, +utilizando o esquema de autojudging, não é necessário olhar para esse arquivo.</li> +<li><b>Source code</b>: Aqui é possível visualizar (<i>view</i>) ou fazer o +download do arquivo submetido. Um ponto importante para o juiz é verificar se +o nome e a extensão desse arquivo estão de acordo com o problema e a linguagem +escolhidos.</li> +<li><b>Answer</b>: Neste campo o juiz escolherá qual a resposta que será enviada +para a equipe. Para tomar essa decisão, ele tem à disposição os arquivos e botões +já mencionados e também, logo abaixo, os dados gerados pelo esquema de autojudging +(se esse esquema estiver sendo utilizado).</li> +<li><b>Autojudging answer</b>: Resposta sugerida pelo esquema de autojudging. +Usualmente o autojudging acerta o que deve ser respondido às equipes, mas pode +falhar. Por exemplo, ele pode dizer que a resposta está errada (<b>Incorrect Output</b>), +pois comparou os arquivos e não eram iguais, mas o único erro do programa da +equipe foi na digitação de um acento em uma palavra (usualmente isso é simplesmente +um <b>Output format error</b>). Outros detalhes podem ocorrer, e o juiz deve +estar atento aos próximos demais dados fornecidos pelo autojudging.</li> +<li><b>Autojudged by</b>: indica qual computador fez o autojudging, no +caso de diversos autojudgings estarem sendo utilizados. Usualmente não essencial +na correção.</li> +<li><b>Standard output</b>: links para fazer o download ou visualizar a saída +padrão gerada pelo programa da equipe. Usualmente neste lugar deve estar a +saída que foi gerada pela equipe e que deve ser comparada com a saída esperada, +disponível no item <b>Problem</b>. Caso haja algum problema, eventualmente +pode ser possível visualizar o erro aqui.</li> +<li><b>Standard error</b>: links para fazer o download ou visualizar a saída de +erro padrão gerada pelo programa da equipe. Quando um problema acontece, por +exemplo um erro em tempo de execução por causa de um acesso ilegal, a informação +sobre o erro torna-se disponível nesta saída de erro. Além de sempre +analisar essa saída, o juiz deve estar atento à saída padrão, pois máquinas virtuais +como da linguagem Java podem escrever os erros na saída padrão e/ou na saída +de erro. Na saída de erro está ainda o resultado do diff feito entre o arquivo + esperado e o arquivo gerado pelo programa submetido. +</li> +</ol> + +<p>Utilizando o botão <b>Judge</b> o juiz faz o julgamento da <i>Run</i>, e após +isso não tem mais acesso para alterar seu julgamento. É possível ainda devolver +a <i>Run</i> para o <i>pool</i> de submissões a serem julgadas, utilizando o +botão <b>Cancel</b>.</p> + +<p>Na tela de <i>Runs</i>, o juiz visualiza todas as submissões, mesmo aquelas que +estão sendo julgadas por outros juízes. Tais submissões aparecem com a cor +azul. As submissões sendo julgados por ele próprio aparecem em vermelho, e somente +ele tem acesso para julgá-las (ou o admin, claro).</p> + +<p></p> +<p><font size="4"><b>Chief</b></font></p> +<p> +Além de poder atuar como um juiz <i>normal</i>, um juiz pode ser designado como <i>chief</i>. Nesta aba +o juiz chefe tem a opção de julgar <i>runs</i> que foram previamente julgadas mas obtiveram resultados +diferentes dos diferentes juízes. A tela é similar àquela do juiz normal, só que <i>runs</i> +julgadas aqui são dadas como resposta final ao time, sem a necessidade de intervenção de outro juiz. +Por esse motivo, é aconselhável que mesmo o juiz chefe, quando estiver julgando <i>runs</i> sem conflito, apenas +utilize a aba <i>Runs</i>, e deixe para utilizar esta aba apenas para resolver os casos de <i>runs</i> que foram julgadas de +forma diferente por diferente juízes. Além das informações da <i>run</i>, o juiz chefe possui +(ao clicar sobre a <i>run</i>) as resposta contraditórias que foram dados pelos juízes, de forma a desempatar +a questão e enviar a resposta mais adequada ao time. +</p> +<p></p> + +<p></p> +<p><font size="4"><b>Score</b></font></p> +<p>Nessa opção será mostrado o placar atualizado da competição. Vale a pena +lembrar que o placar disponível para os juízes é completo, e portanto +deve ser mantido em <b>sigilo até a divulgação dos resultados finais da competição</b> +(para manter o suspense :-). </p> + +<p><font size="4"><b>Clarifications</b></font></p> +<p>Essa opção permite que o juiz responda as <i>clarifications</i> enviadas +pelas equipes a cerca de um problema específico ou de algum aspecto geral da +prova. Para responder uma <i>clarification</i>, o juiz deve clicar sobre seu +número <b>Cuidado:</b> a caixa de texto disponível na parte inferior não é para +responder perguntas, mas para elaborar uma pergunta. Isso serve para que um juiz +crie uma pergunta, que então poderá ser respondida por ele mesmo (ou por outros +juízes) e enviada para todas as equipes, funcionando assim como uma forma de +aviso geral.</p> + +<p>Neste instante ele poderá visualizar informações sobre a <i>clarification</i>, +como número do site, número da <i>clarification</i>, tempo em minutos desde o +início da competição e problema sobre o qual +a pergunta está relacionada, além de duas caixas de texto: uma com a +pergunta e outra onde será preenchida a resposta. Se julgar relevante, o juiz +pode clicar nas seleções <b>answer to all users in the site</b> para que esta pergunta seja +respondida (enviada) para todas as equipes no site ou <b>answer to all users in all sites</b> +para que a resposta seja enviada para todas as equipes em todos os sites (no caso de +uma competição executada no BOCA em um único site, não há diferença entre estas seleções).</p> + +<p>O sistema também permite que o juiz utilize um botão chamado +<u><i>No response</i></u>. Isso ocorre +em geral porque a pergunta feita não deve ser respondida, pois sua resposta faz parte do +entendimento da questão ou da prova, ou já foi respondida anteriormente. +Por fim, existe um botão onde o juiz pode devolver a <i>clarification</i> para que +outro juiz a responda. +</p> + +<p><font size="4"><b>History</b></font></p> +<p>Ao entrar nessa opção, o juiz poderá visualizar as <i>Clarifications</i> e +<i>Runs</i> que foram respondidas/corrigidas até o momento. +Não é possível alterar nada, apenas visualizar.</p> + +<p><font size="4"><b>History</b></font></p> +<p>Nesta aba o juiz pode atuar como uma equipe, submetendo <i>runs</i> para serem julgadas. +O uso deste item se dá no momento de testar o sistema e o conjunto de problemas. Juízes +podem submeter <i>runs</i> mesmo antes de iniciada a competição. +</p> + +<p><font size="4"><b>Options</b></font></p> +<p>Entrando nessa opção poderão ser vistas as informações: <i>Username, +User</i> <i>full name </i>e<i> User description</i> do juiz.<i> </i>Também +será possível trocar a senha do juiz no BOCA digitando-se a senha antiga e a +nova (duas vezes). Para efetuar a troca da senha, basta preencher os campos +corretamente e clicar no botão <i>Send</i>. É importante ter uma senha +segura para um juiz.<br> + +</p> +<p><font size="4"><i><b>Logout</b></i></font></p> +<p>Essa opção permite sair do BOCA.</p> + +<p><font size="4"><b>Dicas importantes</b></font></p> +<p>Ao corrigir problemas, devemos tomar extremo cuidado. Ainda que seja possível +alterar a correção posteriormente (através do ambiente do administrador da competição), +isso implica que a equipe receberá uma resposta e, depois de certo tempo, outra. +Obviamente esse tipo de situação não é agradável.</p> +<p>Sempre que um dos juízes está corrigindo um problema pela primeira vez (ou ainda nas +demais vezes iniciais, isto é, até o momento foram feitas poucas submissões +desde problema), +é interessante que todos participem e tenham cuidados especiais, analisando a +submissão com calma. É possível que na primeira +submissão de um dado problema possamos descobrir um defeito no +sistema ou nos arquivos de entrada e saída (claro que torcemos para isso nunca aconteça :-). +</p> +<p>Para responder às <i>clarifications</i>, é necessário que o juiz tenha lido com +calma as questões e identifique se a pergunta é válida e deve ser respondida. Além disso, +é necessário considerar se a resposta deve ser enviada para todas as equipes ou apenas +para aquela que fez a pergunta. Perguntas típicas que não são respondidas são: +<i>Qual o tempo limite desse problema?</i>, <i>Dada essa entrada, qual a saída correta?</i>, +etc. Além disso, perguntas cujas respostas estão definidas nos enunciados normalmente +não são respondidas. +Caso haja uma dúvida sobre o que se deve responder, o juiz deve procurar o juiz-chefe +responsável pela prova. +</p> + +<p><font size="4"><b>Sobre o BOCA e este documento</b></font></p> +<p>O sistema BOCA foi criado por Cassio Polpo de Campos +e pode ser encontrado em +<a href="http://www.ime.usp.br/~cassio/boca/">http://www.ime.usp.br/~cassio/boca/</a>. +Este manual foi feito por Cassio Polpo de Campos.</p> + +<hr> +<p> +<a href="http://validator.w3.org/check?uri=referer"> +<img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" border="0" height="31" width="88"></a> + +</p></body></html> diff --git a/doc/html/manualteam.en.html b/doc/html/manualteam.en.html new file mode 100644 index 0000000..815eda0 --- /dev/null +++ b/doc/html/manualteam.en.html @@ -0,0 +1,198 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> + +<head> +<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> +<title>BOCA Team's Manual</title> +</head> + +<body bgcolor="white" vlink="blue" link="blue"> +<font size="5"><b>BOCA Online Contest Administrator</b></font> +<p><b>Reference Manual for teams<font size="5"> - </font>version +October/2011 (BOCA version 1.4.1+)</b></p> + +<p><font size="1">Copyright (c) 2003-2010 Ulisses F. F. da Silva and Cassio +P. de Campos.<br> +Permission is granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation License, Version 1.2 or any later +version published by the Free Software Foundation; with no Invariant Sections, +no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be +found in <a +href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p> + +<p>BOCA is a software for controlling a competition in the scope of the <i>ACM International +Collegiate Programming Contest</i>. It has been developed in PHP and the interaction between teams +and the system is performed using a <i>web browser</i>. In the following it is described +this interface and its main functions.</p> + +<p><u>It is important that teams tested the system during the <i>warmup session</i>, before +the official contest, so any issue can be addressed in time. The warmup has exactly this +purpose. It is expected that teams submit correct and incorrect runs, as long as they <b>do not</b> +try to perform malicious operations in the system. It is also expected that clarifications be +submitted, and a small file to print. +</u></p> + +<p>It is assumed here that the team has already logged in using the web browser and +the URL address provided to access the BOCA system. The URL varies from contest to contest, +so you have to ask the staff of your site about it. The login page contains the fields +username and password, which are provided by the staff of the contest. Usually the +username follows the format <b>teamX</b>, where <b>X</b> is the team number, but that is +not mandatory (again, check with the staff). If not speficied, the initial password is empty.</p> + +<p>After the successful login, a page opens with the team identification in the upper-left +corner, and the clock of the contest in the upper-right corner. During the contest, +as the team gets YESes as balloons appear besides the team name. +Just below this information, a vertical menu has the following options: +<i>Problems, Runs, Score, Clarifications, Tasks, Backups, Options e Logout.</i></p> + +<p><font size="4"><b>Problems</b></font></p> +<p>In this tab, the team sees the problems of the contest, together with the book of problem +descriptions (if available online). In <i>in-loco</i> contests, this tab is less important +given that a printed version of the booklet is distributed to the teams. Still, the column +named <b>Basename</b> provides to teams the name of the file that has to be used for each problem. +This is the name that has to be followed by the extension (depending on the language) and +also as the <u>name of the class containing the <i>public main</i> procedure</u> in Java. +Usually this information is also available in the booklet. Nevertheless, here the team can +check if their name is correct. +</p> + +<p><font size="4"><b>Runs</b></font></p> +<p>This tab represents the actual information about the team's submissions, as well as provides +the interface to submit new <i>runs</i>. It is important for the team to select the correct +problem, language, and to choose the correct file for the submission. <b>Note that the file name +must follow the specification</b> in the booklet, and which shall also be available in the tab <i>Problems</i>. +Hence, +<ol> + <li>Use in the source-code the filename defined in the column <b>Basename</b> of the tab <i>Problems</i>. + Take care with small typos and the proper extension according to the chosen language. + </li> + <li>Choose the correct language and problem. It is not uncommon to happen submissions with wrong filename, language or problem. + </li> + <li>Make sure your code reads the input from the <b>standard input</b> and writes the output to the + <b>standard output</b>. Avoid writing anything to the <b>standard error</b>. Furthermore, make your + program exit the code zero in the final return or exit(.) call. By default, this indicates that no + error has happened during its execution. + </li> +</ol> + +<p>In order to see the judgements of runs, the team must click on +the tab <i>Runs</i> and watch the list of submitted runs. +However, do not stop working while waiting for the answers. Even if the judges +are in the backstage working hard to reply to all submissions, this might take some time. +In the last part of the competition, the scoreboard is not updated, neither the runs are answered back +(the number of minutes from the end when this happens depends on the contest; usually it is something around +15 minutes, but this is informed by the staff). For each run, there is a set of standard answers that +exist in each contest (and they may vary depending on the contest). Still the common options are shown below: +<table border="1"> + <tr> + <td nowrap>Answer</td><td>Description</td> + </tr> + <tr> + <td nowrap>YES</td> + <td>Your code was properly compiled, run, and correctly generated the expected output for the problem.</td></tr> + <tr> + <td nowrap>NO: Wrong answer</td> + <td>Some times known as <i>Incorrect output</i>. It indicates that the code compiled and ran, however it + did not generated the expected output for the problem, given the input of the judges (which most certainly + is different from yours and is not available to you).</td> + </tr> + <tr> + <td nowrap>NO: Time-limit Exceeded</td> + <td>The code compiled properly but spent more than the maximum amount of time defined for the given problem. + This time-limit is defined by the judges for each problem and is not disclosed to the teams.</td> + </tr> + <tr> + <td nowrap>NO: Runtime Error</td> + <td>The code compiled properly but achieved an error during its run, given the input of the judges. Some examples + of runtime error are: illegal memory access (seg. fault), illegal file access, excess of memory usage, etc.</td> + </tr> + <tr><td nowrap>NO: Compilation Error</td> + <td>The code has not compiled properly in the judges' computers. Note that you are expected to have compiled in your + own computer before submitting the code. So check the compilation options and versions in your + computer, and if you do not have a problem compiling it locally, ask a member of the staff for help.</td> + </tr> + <tr> + <td nowrap>NO: presentation Error</td> + <td>Also known as <i>output format error</i>, it means that your code compiled, ran, and generated the + expected output apart from some minor presentation issue, such as upper/lower-cases, acents or punctuations (the + definition of presentation error may vary in each contest and is defined by the judges who created the test set).</td> + </tr> + <tr> + <td nowrap>NO: If possible, contact staff</td> + <td>This reply tells you to contact your local staff for help/asking about the issue, if at all possible.</td> + </tr> +</table> + +<p></p> +<p></p> +<p><font size="4"><b>Score</b></font></p> +<p>This tab shows the scoreboard of the contest. If running as a multi-site competition, the scoreboard might also +contain teams from other sites, which can be identified by the <b>/X</b> after the team name, where <b>X</b> is the +site number of the corresponding team. Note that the scoreboard is not updated during the last part of the competition. +This is indicated accordingly. +</p> + +<p><font size="4"><b>Clarifications</b></font></p> +<p>This tab can be used by the team to submit questions to the judges concerning the problems, their descriptions, +or any other aspect of the contest. If the question is specific to a problem of the test set, the team must select +the problem from the combo list. Otherwise, the option <i>General</i> is to be used. The text box is used to +write the question. It is also available in this tab all the replies to questions that were formulated by the +team, as well as questions formulated by other teams but that judges decided that the reply should be made +available to all the teams. Some facts:</p> + +<ol> + <li><b>Teams must make questions regarding the problems and test set using only this interface, and not directly + to the staff or judges.</b> + </li> + <li>It is the team's responsibility to check the tab about <i>clarifications</i> during the contest + to check for new replies. Judges may also send general clarifications to teams, and they will appear in this tab. + </li> +</ol> + +<p>BOCA allows judges to use a particular button named <u><i>No response</i></u>. If you receive this +reply it means that the question may not be answered by the judges, for instance because it is against +the rules to disclose such information, or because the judges understand that the +information asked is already available in the booklet of problem descriptions.</p> + +<p><font size="4"><b>Tasks</b></font></p> +<p>This tab allows the team to send files for printing, as well as ask for help from a staff member (using +the button <i>S.O.S.</i>. To print a file, just select it from the disk and click on <i>Send</i>. +The help provided by the <i>staff</i> has to be only related to issues with the computers or other +physical problem, while questions about the test set, problem descriptions, etc must be send to the +judges using the tab <i>Clarifications</i>.</p> + +<p><font size="4"><b>Backups</b></font></p> +<p>It is possible to send small files to BOCA in order to keep them safe in the server. This is +particularly useful if some drastic issue happens with your computer. This tab provides a way +for the teams to send and query back files that are stored in the server. Only very small files +are allowed, so it is recommended that you backup only plain text files (source code, inputs, etc) +and use a zip or tar.gz format to create a single file. +</p> +<br> + +<p><font size="4"><b>Options</b></font></p> +<p>This tab shows the information of the team, such as <i>Username, +User</i> <i>full name </i>,<i> User description</i>. It is possible +for the team to update their password, although this is not necessary neither +recommended. Instead it is recommended that the admin who created the users already +specifies secret and safe password for all users. +</p> +<br> + +</p> +<p><font size="4"><i><b>Logout</b></i></font></p> +<p>Button to log out from the team interface.</p> + +<p><font size="4"><b>About BOCA and this document</b></font></p> +<p>BOCA System and this document have been created by Cassio Polpo de Campos and can be found at +<a href="http://www.ime.usp.br/~cassio/boca/">http://www.ime.usp.br/~cassio/boca/</a>. +An initial version of this document was made by Ulisses Furquim Freire da Silva. +</p> + +<hr> +<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31" +width="88"></a> +</body> + +</html> diff --git a/doc/html/manualteam.pt_br.html b/doc/html/manualteam.pt_br.html new file mode 100644 index 0000000..efa3871 --- /dev/null +++ b/doc/html/manualteam.pt_br.html @@ -0,0 +1,227 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> + +<head> +<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> +<title>Manual do BOCA para as equipes</title> +</head> + +<body bgcolor="white" vlink="blue" link="blue"> +<font size="5"><b>BOCA Online Contest Administrator - Sistema de Submissão</b></font> +<p><b>Manual de Referência para as equipes<font size="5"> - </font>versão +setembro/2010 (para o BOCA versão 1.4.x)</b></p> + +<p><font size="1">Copyright (c) 2003-2010 Ulisses F. F. da Silva and Cassio +P. de Campos.<br> +Permission is granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation License, Version 1.2 or any later +version published by the Free Software Foundation; with no Invariant Sections, +no Front-Cover Texts, and no Back-Cover Texts. A copy of the license may be +found in <a +href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></font></p> + +<p>O BOCA é um <i>software</i> criado para controlar uma competição nos moldes +da Maratona de Programação da SBC. Foi feito em PHP e a interação dos times +com o sistema é feita usando-se um <i>browser</i>. A seguir descrevemos a +interface disponível no BOCA para as equipes e suas principais funções.</p> + +<p><b>É interessante que todos os times testem essas opções durante a<i> +</i>sessão de aquecimento <i>(warmup)</i></b> <b>que antecede a competição. O +warmup tem exatamente esta função, e assim espera-se que cada equipe submeta +um problema correto, submeta um problema errado, faça perguntas aos juízes +através do sistema de <i>clarifications</i> e até submeta um arquivo pequeno +para impressão.</b></p> + +<p>Neste texto será assumido que o time já realizou o seu +<i>login</i> na máquina e abriu uma janela do navegador (leia +as instruções sobre o Maratona Linux ou sobre o sistema que +estiver sendo utilizado). O BOCA é acessado através de uma +<i>URL</i> (endereços comuns são +http://mainserver/boca/ ou http://bocaserver/boca/). Ao carregar a página, o time deverá ver a +tela de <i>login</i> do BOCA. Basta digitar o <i>login</i> do +BOCA fornecido ao time e a sua senha correspondente (usualmente +algo como <b>teamX</b>, onde <b>X</b> +deve ser substituído pelo número da equipe. A senha inicial é +vazia caso não escolhida diferentemente).</p> + +<p>Após realizar o <i>login</i> com sucesso, uma página deverá ser aberta +contendo a identificação do time no canto superior esquerdo. Durante a +competição, conforme o time acerta os problemas, pequenos balões coloridos +são apresentados próximos ao nome do time. +No canto superior +direito haverá a informação sobre o estado da competição: ou ainda não +começou, ou já acabou, ou está parada, ou a competição está em andamento e a +quantidade de minutos restantes será mostrada. Mais abaixo dessas primeiras +linhas estarão sete opções, que representam a interface propriamente dita do +BOCA. Estas sete opções são: <i>Problems, Runs, +Score, Clarifications, Tasks, Backups, Options e Logout.</i></p> + +<p><font size="4"><b>Problems</b></font></p> +<p>Ao entrar nessa opção, o time poderá visualizar as questões da prova. Para +cada questão, estará disponível um arquivo con sua descrição (muitas vezes +apenas um arquivo de descrição é dado, contendo todas as questões da prova). +Esta opção é normalmente utilizada para competições não-presenciais como forma de +distribuir a prova. Em competições presenciais, sua utilidade é reduzida. +Ainda nesta tela é possível visualizar as cores dos balões de cada problema.</p> + +<p><font size="4"><b>Runs</b></font></p> +<p>Ao entrar nessa opção, o time poderá submeter as suas soluções e receber as +respostas dos juízes. <b>Para submeter uma solução, o time deverá selecionar o +problema para o qual a solução foi feita, a linguagem utilizada e depois +carregar o arquivo contendo a solução.</b> Depois disso, basta clicar no botão +<i>Send</i> para enviar sua solução. O botão <i>Clear</i> permite apagar os +dados selecionados. Algumas observações importantes na hora de criar e +submeter uma solução:</p> + +<ol> + <li>Crie o seu arquivo-fonte contendo a solução de um problema com o <b>nome + indicado</b> <b>no enunciado.</b> Cuidado com pequenos erros no nome e em sua extensão. + </li> + <li>Escolha a <b>linguagem correta.</b> Note que seu fonte deverá ter a + extensão correspondente para cada uma das linguagens aceitas (veja a folha + de questões da prova). + </li> + <li>Lembre-se de que sua solução deve <b>ler os dados da entrada padrão e + escrever os</b> <b>resultados na saída padrão.</b> <b>Nada</b> deve ser + escrito <b>na saída padrão de erro.</b> Além disso, programas escritos em + linguagens que possibilitam o retorno de algum valor para o sistema + operacional devem retornar o valor 0 (zero), que por convenção indica que + nenhum problema ocorreu na execução. + </li> +</ol> + +<p>Para receber as respostas dos juízes, o time deverá clicar em <i>Runs</i> e +esperar que a lista contendo as respostas recebidas para cada solução +submetida seja atualizada (ainda assim, não perca tempo esperando. Você pode +produzir enquanto a resposta dos juízes não chega). Vale a pena lembrar que +nos <b>últimos minutos os times que submeterem</b> <b>soluções não receberão +mais as respostas dos juízes</b> +(assim o suspense fica melhor, não? :-). Esse prazo é informado na +competição. Cada competição tem seu conjunto de respostas possível que as +equipes podem receber. A seguir apresentamos apenas uma tabela exemplo com as +respostas tradicionais. <b>Verifique as especialidades da sua +competição</b>.</p> + +<table border="1"> + <tr> + <td nowrap>Resposta</td><td>Descrição</td> + </tr> + <tr> + <td nowrap>YES</td> + <td>Seu programa foi aceito, e você receberá um balão da cor correspondente ao problema.</td></tr> + <tr> + <td nowrap>NO: Incorrect Output</td> + <td>Também conhecido como <i>Wrong Answer</i>. Indica que seu programa + respondeu incorretamente a algum(ns) dos testes dos juízes.</td> + </tr> + <tr> + <td nowrap>NO: Time-limit Exceeded</td> + <td>A execução do seu programa excedeu o tempo permitido pelos + juízes. Esse limite de tempo usualmente não é divulgado aos times e pode variar + para cada problema.</td> + </tr> + <tr> + <td nowrap>NO: Runtime Error</td> + <td>Durante o teste ocorreu um erro de execução (causado pelo seu + programa) na máquina dos juízes. Acesso a posições irregulares de + memória ou estouro dos limites da máquina são os erros mais comuns.</td> + </tr> + <tr><td nowrap>NO: Compilation Error</td> + <td>Seu programa tem erros de sintaxe. Pode ser ainda que você errou o + nome do problema ou linguagem no momento da submissão.</td> + </tr> + <tr> + <td nowrap>NO: Output Format Error</td> + <td>Também conhecido como <i>Presentation Error</i>, indica que a saída + do seu programa não segue a especificação exigida na folha de + questões, apesar do "resultado" estar correto. Corrija para se + adequar à especificação do problema.</td> + </tr> + <tr> + <td nowrap>NO: Contact Staff</td> + <td>Você deve pedir a presença do pessoal de <i>staff</i>, pois algum + erro incomum aconteceu.</td> + </tr> +</table> + +<p></p> +<p></p> +<p><font size="4"><b>Score</b></font></p> +<p>Nessa opção será mostrado o placar atualizado da competição. Vale a pena +lembrar que <b>o placar será congelado antes do final da competição</b> +(suspense mantido :-). Esse prazo também é informado na competição, e o placar +quando estiver congelado mostra um aviso sobre seu estado.</p> + +<p><font size="4"><b>Clarifications</b></font></p> +<p>Essa opção permite que o time faça perguntas aos juízes a cerca de um +problema específico ou de algum aspecto geral da prova. O time deverá +selecionar o problema relacionado à sua pergunta ou selecionar <i>General</i>, +caso a pergunta não seja específica. Logo abaixo deverá ser escrito o texto da +<i>clarification</i>. Para enviar a <i>clarification</i> basta clicar no botão +<i>Send.</i> O botão <i>Clear</i> apaga os dados selecionados. Para visualizar +a resposta da <i>clarification</i>, o time deverá estar na opção +<i>Clarifications</i> e olhar na lista das <i>clarifications</i> submetidas se +a resposta já foi dada. Como já foi mencionado, uma lista contendo as +<i>clarifications</i> pertinentes a cada time será sempre mostrada nessa +opção. Algumas observações importantes sobre <i>clarifications</i>:</p> + +<ol> + <li><b>Os times devem fazer perguntas sobre a prova utilizando apenas essa + interface</b> <b>disponível no BOCA!</b> + </li> + <li>O time deverá ficar atento às <i>clarifications</i> durante toda a + prova, pois uma <i>clarification</i> feita por um time poderá ser respondida + para todos os outros. Os juízes também podem enviar clarifications a todos + os times se julgarem conveniente. Fiquem atentos. + </li> + <li>As respostas de clarifications não surgem na tela. Você deve consultar esta página para vê-las. + </li> +</ol> + +<p>O sistema permite que o juiz respondendo uma dúvida utilize um botão chamado <u><i>No response</i></u>. Isso ocorre +em geral porque a pergunta feita não deve ser respondida, pois sua resposta faz parte do +entendimento da questão ou da prova. Neste caso sugerimos ler com cuidado as questões e as +possíveis <i>clarifications</i> relacionadas.</p> + +<p><font size="4"><b>Tasks</b></font></p> +<p>Ao entrar nessa opção, o time poderá enviar arquivos para impressão. Para +isso o arquivo deve ser selecionado e então basta clicar no botão +<i>Send</i>. O botão <i>Clear</i> permite apagar os dados selecionados. Outra +opção neste item é o botão <i>S.O.S.</i> que pode ser usado para chamar a +ajuda do pessoal de <i>staff</i>. Essa ajuda deve estar relacionada apenas com +problemas do computador ou semelhantes, já que dúvidas sobre a prova devem ser +enviadas pelo sistema BOCA na opção <i>Clarifications</i>.</p> + +<p><font size="4"><b>Backups</b></font></p> +<p>No sistema BOCA é possível enviar pequenos arquivos para que sejam +guardados no servidor em case de uma interrupção do funcionamento do computador +do time. Entrando nessa opção poderão ser vistos os arquivos já enviados +e mantidos no servidor, assim como enviar novos arquivos. Note que existe um limite usualmente +pequeno na capacidade de armazenamento para que não hajam abusos. Um arquivo compactado é +geralmente a melhor forma de guardar dados no servidor.<br> + +<p><font size="4"><b>Options</b></font></p> +<p>Entrando nessa opção poderão ser vistas as informações: <i>Username, +User</i> <i>full name </i>e<i> User description</i> do time.<i> </i>Também +será possível trocar a senha do time no BOCA digitando-se a senha antiga e a +nova (duas vezes). Para efetuar a troca da senha, basta preencher os campos +corretamente e clicar no botão <i>Send</i>.<br> + +</p> +<p><font size="4"><i><b>Logout</b></i></font></p> +<p>Essa opção permite sair do BOCA.</p> + +<p><font size="4"><b>Sobre o BOCA e este documento</b></font></p> +<p>O sistema BOCA foi criado por Cassio Polpo de Campos +e pode ser encontrado em +<a href="http://www.ime.usp.br/~cassio/boca">http://www.ime.usp.br/~cassio/boca</a>. +Este manual, em sua versão inicial, foi feito por Ulisses Furquim Freire da Silva e +complementado e atualizado por Cassio Polpo de Campos.</p> + +<hr> +<p><a href="http://validator.w3.org/check?uri=referer"><img border="0" +src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31" +width="88"></a> +</body> + +</html> |