Sobre


JOEL (Juez Online Educativo Libre) es una plataforma para aprender a programar, un repositorio de problemas, y una plataforma para correr concursos de programación. Es 100% open source.

Nació como un juez online para ayudar telemáticamente a la enseñanza de Programación en el Institut Sabadell a raíz de la pandemia de Covid-19, pero está abierto a todas las instituciones educativas y a gente que quiera aprender a programar por su cuenta. Recopilamos problemas de varias competiciones de programación, así como centenares de problemas básicos de aprendizaje para enseñar conceptos y usar ejercicios en clase.

JOEL corre encima de JODER (Juez Online Destinado a la Enseñanza con Retroaccion), que es un fork (muy divergente) de DMOJ, un juez online competitivo canadiense de codigo abierto, modificado para cumplir una función educativa.

Pedimos a los usuarios que se lean las normas de participación antes de participar en el sistema de comentarios.

¿Qué es JOEL?

Juez Online

JOEL es un Juez Online, como Domjudge, aceptaelreto, codeforces, o muchos otros. Un Juez Online básicamente te ofrece problemas de programación, los resuelves, y te los corrige automáticamente. Luego te da puntos respecto a la dificultad del problema.

Hay una tabla de puntuaciones con la que puedes competir con otros usuarios o contra los alumnos de tu instituto.

Educativo

JOEL, a diferencia de los otros jueces, es un juez educativo. Los problemas son en general más fáciles, tienen un etiquetado para que sepas qué conocimientos necesitas para resolverlos, si el programa no ejecuta correctamente te dice donde y porqué en vez de simplemente decirte que lo has hecho mal, y tiene un sistema de pistas donde puedes pedirle al sistema que te diga cual es el caso que te está fallando. Cada problema tiene su sistema de comentarios donde puedes hablar con otros usuarios para comentar el problema o pedir/dar pistas.

Los problemas del JOEL, en vez de valorarse con un 0 o un 1, dan también una nota parcial respecto a los casos de prueba que has superado, para no desanimar a los alumnos que intentan problemas dificiles y no cumplen todos los casos.

Libre

JOEL es un sistema Libre. No solo el código es totalmente abierto, sino que la idea es que cualquier persona y no solo los administradores puedan crear problemas. Cualquier usuario con un poco de experiencia y que se haya leído las guías puede pedir permisos para crear problemas, hacer problemas nuevos, y tras una comprobación, verlos colgados en JOEL con su autoría. La totalidad de los casos de prueba pueden verse por parte de una cuenta de profesor, ya que de esta forma pueden ayudar a los alumnos a resolver problemas atascados, con lo que los problemas también són de código abierto, en contrapartida del resto de jueces competitivos, en que los casos de prueba son un secreto celosamente guardado.

¿Qué NO es JOEL?

JOEL NO es un juez competitivo. Aunque tenemos problemas competitivos, intentamos que la mitad de nuestros problemas sean problemas sencillos de aprendizaje.

JOEL NO es un juez con 100.000 casos de prueba por problema. Los problemas de JOEL tienen unos 20-25 casos de prueba, que cubran los casos extremos y más proclives a fallar, pero no hay más. El sistema de pistas y el dar la nota parcial hace que el juez sea más lento que un juez normal y por tanto no queremos sobrecargarlo

JOEL NO es un juez estricto con el Timelimit. Por supuesto tenemos problemas de Timelimit y en casi todos los problemas las soluciones de fuerza bruta fallaran, pero no vamos a forzar problemas que solo puedan resolver en C++ ni a obligar a los usuarios a usar librerías específicas de input/output. Eso puede hacer que problemas con soluciones no óptimas sean aceptados

JOEL NO es perfecto. Todo el mundo puede hacer problemas, y de hecho muchos alumnos los hacen, ya que es una gran actividad que ayuda mucho a entender como crear casos de prueba y testing efectivo. A veces habrán problemas con enunciados dificiles de entender, o que aceptan soluciones no óptimas. En algún caso el problem podría tener un error grave. Tenedlo en cuenta y sed comprensivos si encontrais problemas nuevos de usuarios con pocos problemas hechos. Se puede informar de cualquier error que tenga un problema mediante el sistema de tickets.

No entiendo el mensaje que me devuelve el juez.

Están todos explicados en La página de respuestas del juez .

El Juez me ha dicho "Internal Error"

Eso es un problema del juez y no tuyo o de tu envío. Se envía un correo automáticamente a los desarrolladoes cuando ocurre así que no hace falta que avises.

Hasta que se arregle no hagas más envíos porque seguirán sin funcionar.

Los problemas están en un idioma satánico raro

La mayoria de problemas estan hechos por profesores de Institutos Catalanes y por tanto en catalán. Si quieres, puedes enviarme un correo y te doy permisos de crear traducciones. Los problemas con traducción se traduciran automáticamente al idioma que tengas puesto en el footer

¡Hay algo mal traducido!

El buen Google Translate. Puedes hacer un push request a El archivo de configuración del castellano o el de catalán

Me interesa JOEL. ¿Como puedo unir mi institución educativa?

Si eres profesor enviame un correo a malbareda -arroba- ies-sabadell.cat. Te crearemos una organización para tener a tus alumnos agrupados y una cuenta de profesor con lo que podrás ver los envíos de tus alumnos

Puedes consultar la guía de profesores aquí

¿Quién está detrás de esto y como me pongo en contacto?

JOEL (y JODER) estan desarrollados por Marc, que es el Jefe de Estudios de FP en el Institut Sabadell. Si te gusta la programación competitiva, seguramente me habrás visto en algún Programame o en las 12 UVas.

Puedes ponerte en contacto conmigo con un correo a malbareda -arroba- ies-sabadell.cat para temas administrativos o joder -arroba- ies-sabadell.cat para temas técnicos

¿Donde corre JOEL y JODER?

JOEL corre sobre un OVH personal junto a mis bots de discord y otras cosas

JODER puede correr sobre infinitas máquinas ya que es un sistema escalable. Actualmente una corre en el mismo servidor que JOEL (el juez principal, Kernel), dos en el Institut Sabadell, y una en el ordenador de mi casa, auqnue lo cierro cuando estoy jugando al World of Warcraft

¿Quien es Kernel? ¿Acepta más fans?

Kernel es mi gato. Le gustan los fans pero prefiere el jamón.

¿Como puedo colaborar con JOEL?

Principalmente creando problemas. Leete la guia del Creador de Problemas TODO y ponte en contacto con un administrador para que te de permisos.

También puedes reportar o arreglar bugs. Hazlo desde las Issues del Github de JOEL y JODER

Si eres de una institución oficial y quieres colaborar hosteando un JODER en tu propio servidor, contacta con un administrador