BOCA Online Contest Administrator
http://www.ime.usp.br/~cassio/boca/

Introduction

This is an administration system to held programming contests (e.g. ACM-ICPC, Maratona de Programação da SBC). It has been designed to use php and postgresql as backends. The main desired features are: portability, concurrency control, multi-site and distributed contests, simple web interface. Here you find a short list of places where BOCA was used.


Important warning: the code is available AS IS, without any kind of warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose, to the extent permitted by law. The entire risk as to the quality and performance is with you. I anticipate its low readability and maintainability quality (but you know, it is a Maratona code! Comments on the code are unnecessary and a waste of time :-)

Citing the software

If you would like to cite this work, please refer to this webpage or to the following publication: DE CAMPOS, C. P. ; FERREIRA, C. E. . BOCA: um sistema de apoio a competições de programação (BOCA: A Support System for Programming Contests). In: Workshop de Educacao em Computacao (Brazilian Workshop on Education in Computing), 2004, Salvador. Anais do Congresso da SBC, 2004.

There is also an extended abstract plus talk named Brazilian's Contest Infrastructure: BOCA and Maratona Linux by DE CAMPOS, C.P, FERREIRA, C.E., ANIDO, R., at the Collaborative Learning Initiative Symposium, 2010.


Downloads

If you have questions, please check users discussion group

BOCA:
BOCA is released under GNU Public License 3 since version 1.5. Previously, BOCA was released under Q Public License 1.0, until version 1.4.x. See http://www.opensource.org/licenses/qtpl.php for details.

Some words about version numbers (boca-x.y.z): x means the major version number, y the minor version number, and z the bugfix number. So an increasing on y usually means new features (and bugs), while an increasing on z means bug fixes.

The code is also available at Github


ICPC Latam/Maratona Linux:
Note that ICPC Latam/Maratona Linux is not BOCA. It is a compilation of packages that includes BOCA so as all the installation steps become simpler.

The installv2.sh script mentioned above is the main file to build the ICPC Latam Linux. It has to be run in a fresh install of ubuntu/xubuntu. Currently I am using Ubuntu 14.04.3. Some more details can be found in the readme files here. All these files are also available inside the BOCA package, under directories doc/ and tools/.

A VM version of Maratona Linux was used in many contests in 2008 to 2011. For the teams, this is probably the easiest solution (and the only I am going to keep updated here in this site). If you want to take a look on it, follow this link. It is a vmware-like hard disk image. The vmplayer for Linux and Windows can be obtained from them. A version translated to virtualbox (another VM player) is also available. Keep also an eye on errata file. New versions will be made available as new ubuntu's appear. There is also available a script that is able to reproduce the construction of icpc/maratona linux from a fresh installation of ubuntu/xubuntu. In this way, it is easy to run the system natively, and installing a server directly on the hard-disk (without using the VMs) should be straightforward. Furthermore, Daniel Ribeiro and prof. Vagner Sacramento (Instituto de Informática, UFG) have created a live-CD version of the virtual disk, which makes possible to run the VM version of Maratona Linux natively. Please contact them if you would like to have a copy of the most recent version (the lastest version I had mirrored is already old).


Comments and Suggestions

Participate in the users discussion group or send an email to cassio at ime.usp.br.


Valid HTML 4.01!