Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porFrancisco Pereyra Agüero Modificado hace 6 años
1
OMEGAUP Una alternativa para la evaluación automática de algoritmos programados, un juez en línea.
2
¿Qué es OMEGAUP? Es un proyecto web enfocado a elevar el nivel de competitividad de desarrolladores de software en America Latina mediante la resolución de problemas de algoritmos, con un enfoque competitivo. Un gestor de concursos basado en cómputo en la Nube (Cloud-Computing) La plataforma oficial para la Olimpiada Mexicana de Informática PD. Alguien ha escuchado hablar de OmegaUp? Jueces en línea OMI la usa tanto para entrenamiento como para concurso
3
¿Cómo nació OMEGAUP? 2010 cada uno dirigido a una comunidad estrecha Retroalimentación en línea Esfuerzo fragmentado A menudo era el caso de que sólo el desarrollador de la plataforma tenía la posibilidad de cargar tareas, establecer concursos y hacer modificaciones, también haciendo que el proceso no escalable desde la perspectiva de los recursos humanos. Ninguno de ellos excepto topCoder ofrece tutoriales especializados pero todas están enfocados a usuarios que ya saben programar y no como tal a Capacitar o entrenar a alguien que inicia a programar Libertad de proponer sus propios problemas de enseñanza , no hay limites para enseñar relativo a algoritmia Excepto codeForce los demás te permiten ver los envios de cada usuario y omega te permite ver los envios y los casos en los que el usuario se equivocó Privacidad en tus problemas Como apoyo a la olimpiada y un impulso al desarrollo del sw Fortalecer Imagen omega e imagen omi A partir del año 2012, se implementó la plataforma OmegaUp, en la que se tienen más de 500 problemas de exámenes de la OMI y de la IOI
4
Algunas Características
Código abierto Robusto Escalable Estabilidad Funciones de administración* una caja de arena moderno y mantenido activamente del proyecto ChromiumOS con un buen historial de seguridad,
5
¿Quien creó OMEGAUP? Ing. Joemmanuel Ponce Galindo, competidor internacional en la IOI (Polonia, 2005) . Lider 2009 y 2010. Ing. Luis Héctor Chávez finalista mundo-ACM ICPC (China, 2010) Ing. Alan González , Teddy, 2008 Hacienda de Coaxamalucan 138, Col. Hda. de Echegaray Naucalpan, Estado de México, México CP 53300
6
Lenguajes que soporta OMEGAUP…
7
Algunos usos… Los estudiantes pueden resolver actividades anteriores y actuales Plataforma de capacitación con retroalimentación en vivo Funciones administrativas accesibles que permiten agregar actividades que la plataforma evalua de forma automática sin ayuda del web master. Permite crear actividades grupales y darle seguimiento en tiempo real a cualquier tarea previamente cargada Seguimiento básico del un usuario En un grupo de forma privada Usuario= alumno
8
¿Quiénes lo usan ? universidad nacional de Piura OMI
Universidad de Piura ITAM Instituto Tecnológico de Zacatepec Universidad del Valle de México
9
¿Cómo podríamos usar OMEGAUP?
Aplicar examen en línea Configurar y crear actividades propias o rediseñar las publicas. Actualizar actividades propias anteriores Dar seguimiento al cumplimiento de una actividad Brindar retroalimentación o aclaración de dudas Configurar una actividad con diferentes propósitos Compartir actividades con los usuarios de omegaUp Crear bancos de reactivos para propósitos específicos Poner a disposición del estudiante una herramienta para practicar Quien se esta quedando atrás
10
Secciones… OmegaUp es un lugar para mejorar tus habilidades de desarrollo de software.
11
Página de Inicio... Bienvenidos…
12
Página de Inicio… Menú de inicio redes sociales
13
Página de Inicio… El Blog
14
Página de Inicio… El coder del mes
15
Página de Inicio…
16
Página de Inicio…
17
Página de Inicio…
18
Página de inicio... Desarrollo
19
Página de inicio… Desarrolladores
20
Arena… Concursos actuales en los que puedo participar…
Concursos actuales, estos concursos pueden ser públicos o privados, Es decir me aparecerán todos aquellos que son publícos en caso de no estar autenticado y…. En caso de si estarlo aparecerán tanto los públicos como aquellos privados en los que estoy como participante.
21
Arena…Concursos pasados en los que puedo practicar…
Los concursos públicos que ya pasaron, es decir a los que ya se les agoto el tiempo como concursos aparecerán ajora como práctica. De la misma forma que el caso anterior, si se esta autenticado, aparecerán tanto los públicos como los privados en lo que antes se estaba como Participante.
22
Problemas… En la lista de problemas, se listan todos los problemas públicos y propios que se encuentran en omegaUp El posible buscar/ordenar los problemas por: palablas clave y Tags # envíos # problemas resueltos Ratio #de puntos que se aportan al ranking #puntos que te han aportado como participante
23
Rank…
24
Blog…
25
Preguntas…
26
Inicia Sesión Bueno comencemos a trabajar con OmegaUp,
OmegaUp cuenta con tres alternativas para autenticarse.
27
Nuevo menú… Arena… Una vez que nos autenticamos un cambio significativo es, que aparecen dos elementos más en el menú Mis concursos y Mi problemas, hora veremos como participar en un concurso.
28
Participante en un concurso…
El objetivo de los concursos es acumular más puntos que todos los demás participantes. Existen algunos criterios en caso de desempate: En caso de empate, se pueden tomar en cuenta la suma de los penalties, el tiempo desde que inició el concurso hasta que el participante envió la primera solución o el tiempo desde que se revisó el problema por primera vez hasta que fue resuelto.
29
Participante de un concurso… Detalles de un envío
Tanto la entrada como la salida se hace mediante entrada estándar (“teclado” y “consola”), y no se debe imprimir nada que no indique el problema. Se evita imprimir frases como “Dame un número”, “el resultado es:7”, entre otras. *** omegaUp te proporcionará la entrada tal y como viene descrita en el problema. Todos los problemas de Java deben tener Main como nombre de clase. Si usas cualquier otro nombre, te regresará un Runtime error. cin (en C++) y Scanner (en Java) son relativamente lentos. En problemas donde la entrada es una gran cantidad de datos, se recomienda usar scanf (en C/C++) y BufferedReader (en Java). Tanto la entrada como la salida está en formato Unix: las líneas terminan con “\n”, no con “\r\n”.
30
Retomando Arena Si es los concursos de práctica damos click en el nombre del concurso, nos permite verlo, sin embargo no será posible
31
Detalles en el consurso…
El reloj de arriba, si es negativo, dice cuánto tiempo falta para que inicie el concurso. Cuando es positivo, te dice cuánto tiempo falta para que termine el concurso. Una vez que llega a cero, el concurso se cierra y ya no puedes enviar problemas.
32
Detalles del concurso…
33
Detalles del concurso…
34
Detalles del concurso…
35
Detalles del concurso…
Hay tres pestañas en esta vista: Problemas Ranking Clarificaciones
36
Detalles en el consurso…
En la sección de Problemas parte izquierda está la lista de problemas junto con dos números (como 0 / 100). A menos que los casos estén mal y los jueces hayan decidido re-evaluar todos los envíos de un problema, esos puntos no pueden bajar si haces más envíos a un problema. Abajo de la lista de problemas, existe un mini-ranking con los mejores 10 participantes. Cuando selecciones un problema, verás la descripción de ese problema. En la mayoría de los concursos. Los penalties NO te quitan puntos, y solo se utiliza en caso de empates.
37
Detalles en el concurso…
Problemas: la lista que está mostrada arriba a la izquierda Ranking: muestra con una gráfica el progreso del top 10 del concurso con respecto al tiempo y también muestra el ranking general para el concurso. Esta información se actualiza casi en tiempo real. **algunos concursos, faltando poco tiempo para el final (puede ser una hora o media hora), el ranking deja de actualizarse para meter más emoción. Clarificaciones: es posible pedir clarificaciones específicas a la redacción de un problema, si algo no es suficientemente claro. A los jueces les toma un poco de tiempo leer todas las clarificaciones y responderlas, así que ten paciencia. Mientras te contestan puedes resolver otro problem. Nota: Algunas veces se muestra una nueva clarificación sin que no es propia, es muy importante leerla, porque es una clarificación global, o los jueces están intentando comunicar algo para todos los concursantes.
38
Detalles del concurso… Clarificaciones
39
Detalles en el consurso… El problema
Hasta arriba se encueantra una tabla con varias cosas útiles: cantidad de puntos máximos que te dará ese problema cuando lo resuelvas, el límite de tiempo que tienes para resolver cada caso el límite de memoria que se tiene para resolverlo. Después viene la descripción del problema (que usualmente es una pequeña historia) , la descripción formal del formato de la entrada, la salida y algunos ejemplos que confirman la explicación. Algunos problemas también incluyen una sección con todos los límites de las variables expuestas en la descripción del problema. Si no esta algo claro del problema, se tiene la libertad de escribir una clarificación. Por último, encontrarás una pequeña tabla con todos los envíos que has realizado para ese problema
41
Detalles del concurso…Envíos
Puedes ignorar el ID, se utiliza únicamente por si algún juez te lo pregunta en caso de que haya inconvenientes con el problema y haya necesidad de re- evaluar envíos. Lo importante son las columnas de Puntos y Penalty. La información que aparece en el ranking toma en cuenta el envío realizado que tenga más puntos La columna de status son dos letras que te dan una pequeña pista de qué pasó con tu envío en general: AC – Accepted. Tu envío resolvió correctamente todos los casos de prueba y obtuviste la máxima cantidad de puntos. Felicidades! PA – Partially Accepted. Tu envío resolvió al menos un caso de prueba, pero hay al menos un caso que no resolviste correctamente. Intenta arreglar tu programa y vuélvelo a intentar. WA – Wrong Answer. Tu programa no resolvió ningún caso correctamente. TLE – Time Limit Exceeded. Al menos en uno de los casos, tu programa excedió el límite de tiempo. Intenta pensar en una solución más eficiente o busca en tu código si hay algún ciclo infinito.
42
Detalles del concurso…Envíos
MLE – Memory Limit Exceeded. El menos en uno de los casos, tu programa excedió el límite de memoria. Intenta pensar en una solución que utilice menos memoria. En C y C++, algunos MLE se pueden reportar como RTE, sobre todo si declaraste arreglos gigantes. RTE – Runtime error. En al menos uno de los casos, tu programa tuvo un error fatal: puede ser una excepción en Java, no utilizaste “Main” como nombre de clase en Java, divisiones entre cero, desbordaste el stack, te saliste de los límites de un arreglo, etc. Vuelve a leer el problema y piensa qué casos se te olvió considerar y qué entrada puede hacer que tu programa se comporte de esta manera. RFE – Restricted function. En al menos uno de los casos, tu programa intentó realizar una operación prohibida. En general, no puedes abrir ningún archivo, no puedes conectarte a internet, no puedes ejecutar otros programas y no puedes comunicarte con nada del sistema fuera del problema. Limítate a resolver el problema usando algoritmos.
43
Detalles del consurso…Envíos
CE – Compilation error. Tu programa no pudo ser compilado. omegaUp utiliza gcc y g++ en Linux, y usamos Java 1.6, así que podrían haber incompatibilidades entre tu ambiente de desarrollo y el que usamos nosotros. Si haces click en el botón de “Ver” el código, verás tu código seguido del error del compilador. JE – Judge error. Un error interno de omegaUp. Esto no debería pasar nunca, pero si te sale, alguno de los jueces ya lo vio y lo resolverá lo más rápido posible, así que no es necesario que lo reportes. Intenta otro problema mientras tanto, y ten por seguro que no serás penalizado por ese envío, porque no fue tu culpa.
44
Detalles del concurso…
Como es posible darse cuenta, varios de los status no son mutuamente exclusivos. Siempre se muestra el error más severo Por ejemplo, si un envío marca TLE y tiene algunos puntos, en ninguno de los casos se detectó un MLE ni un RFE, algunos casos están bien, pero es posible haber tenido otros casos mal y, en al menos un caso exceder el límite de tiempo. Es posible creer que que tu programa está resolviendo bien el problema, y ver un WA o un PA, detente a pensar por qué podría estar mal. El 99% de las veces, los casos de prueba está bien (sobre todo si hay alguien más que ya lo logró resolver), pero si tienes evidencia de que hay algún error en el problema (por ejemplo, si dice la descripción que no habrán números mayores a 1000, y en tu programa validas esto y haces que te devuelva un veredicto como MLE), por favor pide una clarificación con esta información y tu ID de envío para que los jueces lo revisen.
45
Creando un concurso… Los estudiantes pueden resolver concursos anteriores y actuales, problemas de capacitación Los títulos son para cargar rápidamente formatos de ese tipo de competencia, configuración rápida
46
Creando un concurso… Si lo muestra pero ya no actualiza como el ACM, ACM lo hace en 80 Mayor a 100 pueden ser 3 minutos
47
Creando concurso… Por concurso es como ACM 20 minutos
Por problema es como TOPCoder
48
Creando un concurso…
49
Agregando problemas al concurso…
50
Agregando problemas al concurso…
Todos los envios y todos los puntajes
51
Creando un concurso… Hacer público
52
Agregando participantes al concurso…
53
Agregar un administrador al concurso…
54
Creando un problema…
55
Creando un problema…
56
Consideraciones para la creación de un problema…
Para subir un problema a Omegaup hay que guardar los contenidos en un archivo .ZIP No hay límite en el número de casos, sin embargo es recomendable mantener el tamaño total de los casos por debajo de los 100MB. El uso del . (punto) para un nombre de caso está prohibido, a menos que desees usar casos agrupados: Omegaup soporta casos agrupados. Es decir, para obtener puntos hay que resolver todos los casos de un sólo grupo. Este tipo de evaluación es útil cuando el conjunto de respuestas posibles para un problema es muy pequeño. Para agrupar, simplemente hay que separar el nombre del grupo con un . del nombre del caso. No hay límite en el número de grupos. Por ejemplo grupo1.caso1.in grupo1.caso1.out grupo1.caso2.in grupo1.caso2.out es un sólo grupo con 2 casos. Los grupos pueden tener diferentes números de casos.
57
Errores y bugs conocidos de Omegaup
Es de suprema importancia que las carpetas /cases y /statements estén directamente en la raíz del .zip, sin carpetas intermedias. Bug link Una forma de hacerlo en la consola de Linux/Mac es con el comando zip -r miproblema.zip * desde el directorio del problema. Asegurar de que los nombres de los casos .in y .out están correctamente pareados. Un síntoma de este error es que el evaluador calificará como JE todos los envíos para ese problema por que no encuentra una entrada o una salida. Bug link
58
Statements/ Debe contener la redacción del problema en formato markdown (el mismo formato que usa Wikipedia). El archivo se debe llamar es.markdown. Para previsualizar el formato puedes usar para ayudarse a previsualizar. Soporta LaTeX completamente Para dar una mejor experiencia a los concursantes, es necesario asegurar con la pre-visualización que se ve como se desea, incluyendo la tabla de casos de entrada y salida. Los nombres de variables en la redacción así: $n$, $x$, etc... para que resalten de la redacción y sea fácil de localizar para los concursantes al momento del concurso, además esto evita confusiones. Para usar subíndices: $x_i$
59
Bibliografía http://blog.omegaup.com/author/lhchavez/
up/ desarrollar---entorno-manual
60
para-Omegaup
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.