Caribbean Online Judge

(Redirigido desde «Caribbean Online Judge. COJ»)
Caribbean Online Judge
Información sobre la plantilla
COJ.png
Captura de pantalla de la interfaz del COJ
Información general
URLhttp://coj.uci.cu
EsloganThinking better!
ComercialNo
Tipo de sitioJuez en línea de programación algorítmica
Idiomas disponiblesEspañol e Inglés
CreadorUniversidad de las Ciencias Informáticas (UCI), Cuba
Lanzamiento5 de junio de 2010
Estado actualEn explotación

Caribbean Online Judge (COJ) . Es un juez en línea para entrenar la programación de algoritmos con diferentes lenguajes. Su desarrollo comenzó en 2006 por programadores de la UCI y otros de la Comunidad Caribeña de la ACM-ICPC.

Metas

Proporcionar un espacio donde personas del mundo puedan:

  • Intercambiar experiencias y conocimientos;
  • Probar, mejorar y compartir habilidades en la resolución de problemas, la programación de computadoras y el trabajo en equipo;
  • Obtener capacitación para participar en competiciones de programación (ACM-ICPC, IOI, TopCoder y otras)[1].

Antecedentes del COJ

El desarrollo del sistema base (Xtreme Online Judge) comenzó en el año 2006 bajo la "Iniciativa Xtreme", compuesta principalmente por estudiantes y profesores de la facultad 8 de la Universidad de las Ciencias Informáticas (UCI) : Tomás Orlando Junco Vázquez, Enrique José Altuna Castillo, Jorge Amado Soria Ramírez, José Ernesto Lara Rodríguez, Raciel Yera Toledo y Leandro González Vallejo.

Luego de que la UCI se unió al movimiento ACM-ICPC (ACM-Asociación de los Sistemas Informáticos, ICPC-Competición Internacional Universitaria de Programación) y lideró la creación de la Comunidad Caribeña del ACM-ICPC, el Xtreme Online Judge fue seleccionado para publicarse en Internet como COJ v1.0, y otras personas se unieron al pequeño pero inspirado equipo de desarrollo (Yonny Mondelo Hernández y Dovier Antonio Ripoll Méndez). El COJ está disponible en Internet desde el 5 de junio de 2010.

En octubre de 2011 el sistema base fue sustituido por otro que fue reprogramado desde cero (durante casi un año) por dos jóvenes estudiantes de la UCI (Juan Carlos Lobaina Guzmán y Jorge Luis Roque Alvarez). Desde entonces, los equipos y métodos de desarrollo han sido mejorados para conseguir un sistema mejor.

Características

El sitio cuenta con poco más de 500 problemas de distintas fuentes y dificultades. Esta lista de problemas va creciendo paulatinamente a medida que los usuarios de la comunidad van añadiendo. El sitio permite el envío de soluciones (esta opción requiere registro) programadas con diversos lenguajes como Pascal, Python, C/C++, Java. Mantiene varios rankings: usuarios, instituciones y países. La puntuación que aporta un problema es de acuerdo a su dificultad, la cual es medida por la cantidad de personas que lo han resuelto, lo que implica que sea dinámica, cambia con el tiempo. Periódicamente se organizan concursos en tiempo real, la mayoría de los cuales son abiertos.

Además posee otros servicios como:

  • Mensajería interna para los usuarios registrados.
  • Recomendador de problemas.
  • Interfaz por correo electrónico para enviar soluciones y consultar el status.

Para la programación del sitio web se usaron las siguientes tecnologías:

  • GNU/Linux como sistema operativo.
  • Java Spring Framework para el desarrollo de las interfaces web.
  • Java para el desarrollo del motor de calificación.
  • PostgreSQL para la base de datos del sistema.
  • Apache-Tomcat como contenedor de aplicaciones web Java.

Funcionamiento del COJ

El sistema automáticamente compila y ejecuta el código enviado por el usuario (solución a un problema). El código fuente enviado será probado con algunas restricciones, incluyendo el tiempo de ejecución, el uso de memoria, el tamaño del código fuente, la seguridad y otras. La salida del código será capturada por el sistema y comparada con la salida correcta proporcionada por el autor del problema. El usuario obtendrá Aceptado (como sentencia o veredicto) si todas las pruebas aplicadas a su código fuente parecen estar bien. En cualquier otro caso, obtendrá una respuesta de rechazo.

Equipo de desarrollo del COJ (CDEVT)

El Proyecto COJ requiere el apoyo de muchas personas, cada una con sus propias áreas de responsabilidad. A continuación se muestra un listado con los miembros actuales del CDEVT:

  • Yonny Mondelo Hernández (UCI, Cuba).
  • Dovier Antonio Ripoll Méndez (UCI, Cuba).
  • Jorge Amado Hernández Betancourt (UCI, Cuba).
  • Yunier Broche Guevara (UCI, Cuba).
  • Frank Arteaga Salgado (ULT, Cuba).
  • Yelaine Sánchez Oliü (UCI, Cuba).
  • Alison Muñoz Capote (UCI, Cuba).

Miembros pasados de nuestro equipo:

  • Tomás Orlando Junco Vázquez (UCI, Cuba).
  • Jorge Amado Soria Ramirez (UCI, Cuba).
  • Eddy Roberto Morales Pérez (UCI, Cuba).
  • Leandro González Vallejo (UCI, Cuba).
  • Jorge Luis Roque Alvarez (UCI, Cuba).
  • Nersa Doraines Acosta Labrada (UCI, Cuba).
  • Juan Carlos Lobaina Guzmán (UCI, Cuba).
  • José Ernesto Lara Rodríguez (UCI, Cuba).
  • Michael Horta Fleitas (UCI, Cuba).
  • Nellis Margarita Cabrera Mallea (UCI, Cuba).
  • Frank Yurell Villafranca (UCI, Cuba).
  • Alain Félix Plana Botello(UCI, Cuba).


Referencias

  1. COJ: Acerca de. Tomado del COJ. Consultado el 1 de octubre de 2016

Fuentes