Implementación de un servidor especializado en evaluación automatizada para optimizar el aprendizaje de programación en C.
Loading...
Date
2025
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad de Concepción
Abstract
Este documento presenta la implementación de un servidor web basado en plataformas de jueces en línea, que almacenan una amplia colección de problemas de programación con corrección automática en tiempo real. El servidor está diseñado como una herramienta de apoyo para la enseñanza del lenguaje C en las carreras de ingeniería de la Universidad de Concepción, con el propósito de potenciar el aprendizaje práctico y la capacidad de resolución autónoma de los estudiantes. La plataforma integra un sistema de evaluación automática que compila y ejecuta el código enviado en tiempo real, comparando los resultados obtenidos con salidas predeterminadas y proporcionando retroalimentación inmediata sobre la correcta funcionalidad del programa.
El desarrollo del sistema se fundamenta en un proyecto basado en Python y el framework Django para la implementación del servidor. El despliegue se realiza en una Raspberry Pi, lo que permite contar con una solución local que garantiza conexiones rápidas, económicas y seguras dentro de la universidad. La base de datos ha sido diseñada para facilitar su gestión, posibilitando la incorporación, edición y organización de nuevos problemas de programación, adaptándose a diversas necesidades curriculares y niveles de dificultad. Este enfoque no solo optimiza la labor docente mediante la automatización de la corrección de ejercicios, sino que también fomenta el aprendizaje autónomo, permitiendo a los estudiantes practicar en un entorno interactivo y recibir evaluaciones objetivas de su desempeño.
Actualmente, el Juez Virtual cuenta con una base inicial de 30 problemas disponibles para ser resueltos por los estudiantes. La plataforma permite, además, la incorporación de nuevos ejercicios por parte del docente encargado del proyecto. Además, incluye documentación del uso destinada tanto a estudiantes, como a docentes o administradores del sitio web, lo que facilita su uso e implementación.
En resumen, se propone una herramienta que mejora la metodología actual de diversos cursos de programación en C de la carrera de ingeniería de la Universidad de Concepción. La plataforma, denominada "Juez Virtual para Programación en C", busca aumentar el rendimiento estudiantil y facilitar la labor docente, al ofrecer un entorno didáctico de fácil uso y adaptable a la incorporación de nuevos problemas en el futuro.
This document presents the implementation of a web server based on online judge platforms, which stores a wide collection of programming problems with real-time automatic correction. The server is designed as a support tool for teaching the C programming language in engineering programs at the “Universidad de Concepción”, with the goal of enhancing students’ practical learning and autonomous problem-solving skills. The platform integrates an automatic evaluation system that compiles and executes the submitted code in real time, compares the results with predefined outputs, and provides immediate feedback on the correctness of the program. The system is developed using Python and Django framework for server implementation. It is deployed on a Raspberry Pi, enabling a local solution that ensures fast, cost-effective, and secure connections within the university. The database is designed to be easily managed, allowing the addition, editing, and organization of new programming problems, adapting to various curricular needs and difficulty levels. This approach not only optimizes the instructors’ work by automating code correction but also promotes autonomous learning, allowing students to practice in an interactive environment and receive objective evaluations of their performance. At present, Virtual Judge has an initial database of 30 problems available for students to solve. The platform also allows the teacher in charge of the project to add new exercises. It also includes user documentation for students, teachers, and website administrators, making it easy to use and implement. In summary, this project offers a tool that improves the current methodology of various C programming courses in the engineering program at the University of Concepción. The platform, called “Virtual Judge for C Programming,” (Juez Virtual para Programación en C) aims to enhance student performance and support instructors by providing a user-friendly, educational environment that can be easily adapted to include new problems in the future.
This document presents the implementation of a web server based on online judge platforms, which stores a wide collection of programming problems with real-time automatic correction. The server is designed as a support tool for teaching the C programming language in engineering programs at the “Universidad de Concepción”, with the goal of enhancing students’ practical learning and autonomous problem-solving skills. The platform integrates an automatic evaluation system that compiles and executes the submitted code in real time, compares the results with predefined outputs, and provides immediate feedback on the correctness of the program. The system is developed using Python and Django framework for server implementation. It is deployed on a Raspberry Pi, enabling a local solution that ensures fast, cost-effective, and secure connections within the university. The database is designed to be easily managed, allowing the addition, editing, and organization of new programming problems, adapting to various curricular needs and difficulty levels. This approach not only optimizes the instructors’ work by automating code correction but also promotes autonomous learning, allowing students to practice in an interactive environment and receive objective evaluations of their performance. At present, Virtual Judge has an initial database of 30 problems available for students to solve. The platform also allows the teacher in charge of the project to add new exercises. It also includes user documentation for students, teachers, and website administrators, making it easy to use and implement. In summary, this project offers a tool that improves the current methodology of various C programming courses in the engineering program at the University of Concepción. The platform, called “Virtual Judge for C Programming,” (Juez Virtual para Programación en C) aims to enhance student performance and support instructors by providing a user-friendly, educational environment that can be easily adapted to include new problems in the future.
Description
Tesis presentada para optar al título de Ingeniero/a Civil Electrónico/a.
Keywords
Lenguajes de programación (Computadores electrónicos), Sistemas de enseñanza