Título del proyecto: Juez en el sitio
La idea es proporcionar un marco para que los estudiantes y el instructor organicen competencias de codificación en la universidad sin ninguna conexión a Internet para fomentar la competencia justa y evitar cualquier uso indebido. Esto también ayudará a reducir los problemas técnicos que normalmente se experimentan en el concurso.
Antecedentes:
El origen de una idea para crear nuestro propio «Juez en el sitio» se puede atribuir a un error de PC^2 que encontré en una competencia de codificación específica organizada por nuestra institución que finalmente afectó la lista de clasificación.
En investigaciones posteriores realizadas después de esa competencia, se descubrió que PC ^ 2 ha fallado repetidamente en el pasado. Esto desencadenó la necesidad de crear una plataforma sin complicaciones para juzgar futuras competencias de codificación.
Objetivo:
El objetivo de mi trabajo es diseñar un sistema robusto y eficiente para albergar competencias de codificación en universidades sin utilizar ninguna conexión a Internet.
Introducción:
- Es un juez en el sitio creado en SPOJ y Codechef, pero sin usar ninguna conexión a Internet.
- Permitirá que las universidades con poca conexión a Internet organicen competencias de codificación.
- Es una aplicación web que se ejecuta en la conexión intranet de la universidad, lo que la hace multiplataforma.
- La única limitación es que requiere Linux para ejecutar Judge, mientras que el envío se puede realizar desde cualquier sistema operativo.
El juez actualmente acepta presentaciones en los siguientes idiomas:
- C
- C++, C++14
- Python 2, Python 3
- Java, Java 8
Problema con el sistema actual:
- El sistema actual tiene las siguientes deficiencias:
- Utiliza una conexión a Internet que a veces hace que la competencia de codificación sea injusta, ya que proporciona una ventana para que los estudiantes hagan trampa.
- También tienen varios fallos técnicos y fallas muy a menudo, lo que estropea el espíritu de programación.
- La mayoría de ellos no buscan códigos maliciosos que resulten en un comportamiento inesperado del sistema.
- Los diversos sistemas en línea no brindan ninguna plataforma para que las universidades lleven a cabo su competencia de codificación privada para la calificación interna.
- El Juez In Situ trata de superar todos estos problemas.
Marco conceptual:
Onsite Judge está desarrollado en Django Framework y utiliza multiprocesamiento para proporcionar una cola de envío asíncrona.
Características:
- Actualmente, el juez permite al usuario compilar y probar código en diferentes lenguajes.
- Envíe preguntas en diferentes idiomas y devuelva un veredicto en forma de AC, WA, TLE, error de tiempo de ejecución.
- Crear concurso, Eliminar concurso, Ver lista de clasificación.
- Inicie sesión, regístrese, vea la presentación y el editorial después del concurso.
- El coordinador puede cargar hasta 10 casos de prueba para una pregunta en particular en el concurso.
- Se agregó un verificador de errores para verificar si hay códigos/virus maliciosos mientras se envían preguntas y se cargan casos de prueba.
- Proporciona tres categorías: usuario, coordinador, administrador.
- El usuario puede ver concursos, enviar preguntas sobre el concurso, compilar y probar, ver la lista de clasificación.
- Coordinador: puede agregar un problema para un concurso en particular con un caso de prueba y una solución.
- Administrador: puede crear, eliminar concursos, cuentas de usuario y preguntas.
Diagramas:
Tools Used: Used Python Full Stack to make judge.
Solicitud:
Está diseñado para cumplir con los requisitos específicos de los concursos organizados en el Instituto de Tecnología de la Información de Jaypee, Noida, pero la mayoría de sus componentes se pueden cambiar fácilmente para cumplir con los requisitos de cualquier otra universidad.
Esto también proporcionará una plataforma para una mejor evaluación de las preguntas de codificación en los exámenes internos, ya que el juez en el lugar hará que la competencia de codificación sea accesible solo para los estudiantes que pertenecen a nuestro instituto.
Github: https://github.com/chunky2808/Karmo-Onsite-Judge
Lea el artículo de investigación para superar la deficiencia de PC^2.
Nota: Esta idea de proyecto es aportada por Paras Jain (Instituto Jaypee de Tecnología de la Información, Noida) para ProGeek Cup 2.0, una competencia de proyectos de GeeksforGeeks.
Publicación traducida automáticamente
Artículo escrito por everythingispossible y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA