Moodle CodeRunner
Banco de preguntas CodeRunner gratis para Moodle
65 preguntas de programación para CodeRunner de Moodle, en Python, Java, C y C++, cada una con una respuesta modelo y pruebas. Descarga el archivo Moodle XML, impórtalo en tu banco de preguntas y agrega las preguntas a un cuestionario. Gratis, con licencia CC BY 4.0, con el enunciado en español, inglés o portugués.
Por el equipo de OnlineCompiler.io. Actualizado el .
Also in EnglishTambém em português
Qué son los paquetes
Cada paquete es un archivo Moodle XML con preguntas de CodeRunner para un primer curso de programación. La pregunta pide una función, un método o un programa completo, y CodeRunner califica la respuesta del estudiante con las pruebas de la pregunta cuando presiona Check. Cada pregunta tiene una respuesta modelo que pasa todas sus pruebas.
Las preguntas usan solo los tipos de pregunta que ya trae CodeRunner (python3, java_method, java_class, java_program, c_function, c_program, cpp_function, cpp_program) y les dejan a ellos los ajustes del sandbox, así que se importan en cualquier Moodle con CodeRunner instalado y funcionan en cualquier servidor Jobe: el tuyo, el de tu universidad o el de OnlineCompiler.io.
Cada paquete viene en español, inglés y portugués. Solo cambia el enunciado: el código, las pruebas y la salida esperada son iguales en los tres, así que puedes darle a cada grupo el idioma que mejor lee y calificar a todos de la misma manera.
Son gratis, con licencia CC BY 4.0: úsalas, modifícalas y compártelas, dando el crédito a OnlineCompiler.io.
Los paquetes
65 preguntas y 363 pruebas en 4 paquetes, uno para cada lenguaje de programación.
Python: introducción a la programación
Funciones, condicionales, ciclos, cadenas, listas, diccionarios y recursión, desde los primeros pasos hasta el final de un primer curso.
- 20 preguntas, 111 pruebas (38 ocultas)
- Tipos de pregunta:
python3 - Temas: Entrada y salida, Condicionales, Ciclos, Funciones, Cadenas, Listas y arreglos, Diccionarios y mapas, Recursión, Búsqueda y ordenamiento
Las 20 preguntas
| # | Pregunta | Tema | Tipo | Pruebas |
|---|---|---|---|---|
| 1 | Suma y diferencia | Entrada y salida | python3 | 4, 2 ocultas |
| 2 | Segundos a H:MM:SS | Entrada y salida | python3 | 5, 2 ocultas |
| 3 | Distancia entre dos puntos | Funciones | python3 | 6, 2 ocultas |
| 4 | Precio de entrada por edad | Condicionales | python3 | 6, 3 ocultas |
| 5 | Año bisiesto | Condicionales | python3 | 5, 1 oculta |
| 6 | Cuadrante de un punto | Condicionales | python3 | 6, 2 ocultas |
| 7 | Tabla de multiplicar | Ciclos | python3 | 5, 2 ocultas |
| 8 | Suma de los dígitos | Ciclos | python3 | 6, 2 ocultas |
| 9 | Pasos de Collatz | Ciclos | python3 | 5, 1 oculta |
| 10 | Contar primos | Funciones | python3 | 6, 2 ocultas |
| 11 | Contar las vocales | Cadenas | python3 | 4, 1 oculta |
| 12 | ¿Es un palíndromo? | Cadenas | python3 | 6, 2 ocultas |
| 13 | Cifrado César | Cadenas | python3 | 6, 2 ocultas |
| 14 | Suma acumulada | Listas y arreglos | python3 | 6, 2 ocultas |
| 15 | Segundo mayor valor | Listas y arreglos | python3 | 6, 2 ocultas |
| 16 | Matriz transpuesta | Listas y arreglos | python3 | 6, 2 ocultas |
| 17 | Contar palabras | Diccionarios y mapas | python3 | 5, 2 ocultas |
| 18 | Ganador de la elección | Diccionarios y mapas | python3 | 6, 2 ocultas |
| 19 | Suma de una lista anidada | Recursión | python3 | 6, 2 ocultas |
| 20 | Búsqueda binaria | Búsqueda y ordenamiento | python3 | 6, 2 ocultas |
Java: introducción a la programación
Métodos, condicionales, ciclos, cadenas, arreglos, clases y recursión, para un primer curso de Java.
- 15 preguntas, 84 pruebas (29 ocultas)
- Tipos de pregunta:
java_method,java_class,java_program - Temas: Entrada y salida, Condicionales, Ciclos, Funciones, Cadenas, Listas y arreglos, Diccionarios y mapas, Recursión, Clases y objetos
Las 15 preguntas
| # | Pregunta | Tema | Tipo | Pruebas |
|---|---|---|---|---|
| 1 | Segundos a H:MM:SS | Entrada y salida | java_program | 6, 2 ocultas |
| 2 | Mayor de tres | Condicionales | java_method | 4, 1 oculta |
| 3 | Año bisiesto | Condicionales | java_method | 6, 2 ocultas |
| 4 | Suma de n números | Ciclos | java_program | 4, 2 ocultas |
| 5 | Escalera de asteriscos | Ciclos | java_method | 5, 2 ocultas |
| 6 | Conversión de temperatura | Funciones | java_method | 6, 2 ocultas |
| 7 | MCD y MCM | Funciones | java_method | 6, 2 ocultas |
| 8 | Iniciales de un nombre | Cadenas | java_method | 6, 2 ocultas |
| 9 | Verificar palíndromo | Cadenas | java_method | 6, 2 ocultas |
| 10 | Posición del mayor | Listas y arreglos | java_method | 6, 2 ocultas |
| 11 | Por encima del promedio | Listas y arreglos | java_program | 6, 2 ocultas |
| 12 | Palabra más frecuente | Diccionarios y mapas | java_method | 6, 2 ocultas |
| 13 | Cuenta bancaria | Clases y objetos | java_class | 6, 2 ocultas |
| 14 | Fracciones | Clases y objetos | java_class | 6, 2 ocultas |
| 15 | Torres de Hanói | Recursión | java_method | 5, 2 ocultas |
C: introducción a la programación
Entrada y salida, condicionales, ciclos, funciones, arreglos, cadenas, punteros y estructuras, para un primer curso de C.
- 15 preguntas, 85 pruebas (29 ocultas)
- Tipos de pregunta:
c_function,c_program - Temas: Entrada y salida, Condicionales, Ciclos, Funciones, Cadenas, Listas y arreglos, Punteros y memoria, Estructuras
Las 15 preguntas
| # | Pregunta | Tema | Tipo | Pruebas |
|---|---|---|---|---|
| 1 | Celsius a Fahrenheit | Entrada y salida | c_program | 6, 2 ocultas |
| 2 | Formatear una duración | Entrada y salida | c_function | 6, 2 ocultas |
| 3 | Año bisiesto | Condicionales | c_function | 6, 2 ocultas |
| 4 | Cuadrante de un punto | Condicionales | c_function | 6, 2 ocultas |
| 5 | Contar pares e impares | Ciclos | c_program | 4, 2 ocultas |
| 6 | Triángulo de Floyd | Ciclos | c_function | 5, 2 ocultas |
| 7 | Factorial | Funciones | c_function | 4, 1 oculta |
| 8 | Verificar número primo | Funciones | c_function | 6, 2 ocultas |
| 9 | Invertir un arreglo | Listas y arreglos | c_function | 6, 2 ocultas |
| 10 | Por encima del promedio | Listas y arreglos | c_program | 6, 2 ocultas |
| 11 | Verificar palíndromo | Cadenas | c_function | 6, 2 ocultas |
| 12 | Cifrado César | Cadenas | c_function | 6, 2 ocultas |
| 13 | Mínimo y máximo | Punteros y memoria | c_function | 6, 2 ocultas |
| 14 | Repetir una cadena | Punteros y memoria | c_function | 6, 2 ocultas |
| 15 | Suma de fracciones | Estructuras | c_function | 6, 2 ocultas |
C++: introducción a la programación
Funciones, condicionales, ciclos, cadenas, vectores, mapas, clases y recursión, para un primer curso de C++.
- 15 preguntas, 83 pruebas (29 ocultas)
- Tipos de pregunta:
cpp_function,cpp_program - Temas: Entrada y salida, Condicionales, Ciclos, Funciones, Cadenas, Listas y arreglos, Diccionarios y mapas, Recursión, Clases y objetos
Las 15 preguntas
| # | Pregunta | Tema | Tipo | Pruebas |
|---|---|---|---|---|
| 1 | Área y perímetro del rectángulo | Entrada y salida | cpp_program | 5, 2 ocultas |
| 2 | Días del mes | Condicionales | cpp_function | 6, 2 ocultas |
| 3 | Tipo de triángulo | Condicionales | cpp_function | 6, 2 ocultas |
| 4 | Pasos de Collatz | Ciclos | cpp_function | 6, 2 ocultas |
| 5 | Mayor y menor | Ciclos | cpp_program | 5, 2 ocultas |
| 6 | Ordenar tres variables | Funciones | cpp_function | 6, 2 ocultas |
| 7 | Área con sobrecarga | Funciones | cpp_function | 6, 2 ocultas |
| 8 | Torres de Hanói | Recursión | cpp_function | 5, 2 ocultas |
| 9 | Invertir las palabras | Cadenas | cpp_program | 4, 2 ocultas |
| 10 | Comprimir letras repetidas | Cadenas | cpp_function | 6, 2 ocultas |
| 11 | Promedio de un vector | Listas y arreglos | cpp_function | 4, 1 oculta |
| 12 | Eliminar repetidos | Listas y arreglos | cpp_function | 6, 2 ocultas |
| 13 | Frecuencia de palabras | Diccionarios y mapas | cpp_function | 6, 2 ocultas |
| 14 | Clase cuenta bancaria | Clases y objetos | cpp_function | 6, 2 ocultas |
| 15 | Clase reloj | Clases y objetos | cpp_function | 6, 2 ocultas |
Importar un paquete en Moodle
Para importar, necesitas permisos de edición en el curso, y CodeRunner tiene que estar instalado en el sitio. Moodle 5.0 sacó los bancos de preguntas de los cursos y los convirtió en actividades de tipo banco de preguntas, así que los pasos dependen de la versión.
Los nombres en negrita son los de un Moodle en inglés. En un Moodle en español, los menús aparecen traducidos, en el mismo lugar y en el mismo orden.
Moodle 4.x
- Descarga el paquete en el idioma que quieras, de la lista de arriba.
- En el curso, abre More > Question bank.
- En el menú de arriba a la izquierda, que muestra Questions, elige Import.
- En File format, elige Moodle XML format.
- En General, deja marcadas Get category from file y Get context from file.
- Arrastra el archivo a Import questions from file y haz clic en Import. Moodle muestra la lista de preguntas importadas; haz clic en Continue.
Las preguntas quedan en el banco de preguntas del curso, en una categoría nueva con el nombre del paquete y del idioma, como OnlineCompiler.io Python (español).
Moodle 5.0 o posterior
- En el curso, abre More > Question banks. Abre un banco o crea uno: haz clic en Add question bank, ponle un nombre y elige Save and display.
- En el banco, elige Import en el menú de arriba a la izquierda, que muestra Questions.
- En File format, elige Moodle XML format, arrastra el archivo a Import questions from file, haz clic en Import y luego en Continue.
Las preguntas quedan en el banco donde importaste, en una categoría como OnlineCompiler.io Python (español). En Moodle 5.0, cada cuestionario también tiene su propio banco de preguntas (en el cuestionario, Question bank) para las preguntas que solo usa ese cuestionario; importar ahí funciona igual.
Agregar las preguntas a un cuestionario
- Abre el cuestionario y ve a su página Questions.
- Elige Add y luego from question bank. En Moodle 5.0 o posterior, si el banco donde importaste no es el que aparece, elige Switch bank y selecciónalo.
- Elige la categoría del paquete, marca las preguntas que quieras y haz clic en Add selected questions to the quiz.
Cada pregunta vale un punto y solo lo da cuando pasan todas las pruebas. Cambia el valor de una pregunta en la página Questions del cuestionario, o edita la pregunta para cambiar cualquier otra cosa.
Guías del propio Moodle, en inglés: Import questions (Moodle 4.5) y Question banks (Moodle 5.0).
Ejecutarlas sin un servidor Jobe propio
CodeRunner ejecuta cada Check en un servidor Jobe. Si tu Moodle ya tiene uno, las preguntas funcionan tal como están. Si no lo tiene, o todavía usa el servidor por defecto, pensado solo para pruebas, el servidor compatible con Jobe de OnlineCompiler.io puede ejecutarlas, de dos maneras.
Para todo el sitio: dos ajustes
Un administrador de Moodle abre Site administration > Plugins > Question types > CodeRunner, pone https://api.onlinecompiler.io/api en Jobe server y una clave de API de OnlineCompiler.io en Jobe API key. Desde ese momento, todas las preguntas de CodeRunner del sitio, incluidas estas, se ejecutan en OnlineCompiler.io. La página CodeRunner sin servidor Jobe tiene los pasos, los límites y lo que cambia respecto a Jobe.
Solo para estas preguntas: una copia con tu clave de API
Si das clases y no tienes acceso a los ajustes del sitio, descarga una copia del paquete en la que cada pregunta lleva el servidor y tu clave de API en sus propios parámetros del sandbox. CodeRunner envía solo esas preguntas a OnlineCompiler.io; las demás preguntas del sitio siguen usando el servidor Jobe del sitio. El campo Parameters de cada pregunta queda así:
{"jobeserver": "https://api.onlinecompiler.io/api", "jobeapikey": "YOUR_API_KEY"}En los paquetes de C y C++, el campo también lleva "linkargs": ["-lm"]: los tipos de pregunta de C y C++ lo usan para enlazar la biblioteca matemática, y los parámetros de la pregunta reemplazan a los de su tipo de pregunta.
Tu clave se queda en esta pestaña del navegador. La página descarga el paquete, escribe la clave en cada pregunta y guarda la copia en tu computadora; la clave no se envía a ningún lado, no va en ningún enlace y no se guarda.
Quien pueda editar estas preguntas en Moodle puede leer la clave en el campo Parameters de la pregunta (en Advanced customisation, en el grupo Sandbox), igual que quien tenga una exportación o un respaldo de ellas. Los estudiantes no la ven. Usa una clave de API distinta para cada curso, con su propio límite mensual: así, una clave que se filtre solo gasta las ejecuciones de ese curso y puedes borrarla sin afectar a los demás. Mira los límites por clave (en inglés).
Un Check ejecuta el código del estudiante una vez en la mayoría de las preguntas que piden una función o un método, y una vez por prueba en las que piden un programa completo o leen entrada. Cada ejecución cuenta en tu plan; el plan Free incluye 100,000 ejecuciones al mes.
Para volver a usar el servidor Jobe del sitio, borra el campo Parameters de esas preguntas, o importa el archivo normal en su lugar.
Licencia
Las preguntas, sus pruebas y sus respuestas modelo tienen licencia Creative Commons Atribución 4.0 (CC BY 4.0). Puedes copiarlas, modificarlas y compartirlas, en tus cursos o en cualquier otro lugar, siempre que des el crédito a OnlineCompiler.io e indiques si hiciste cambios. Por ejemplo:
Basado en preguntas CodeRunner de OnlineCompiler.io (https://onlinecompiler.io/es/banco-de-preguntas-coderunner), CC BY 4.0.
La descripción de la categoría en cada archivo ya dice de dónde vienen las preguntas.
Preguntas frecuentes
¿Dónde encuentro preguntas gratis para CodeRunner?
En esta página: 65 preguntas CodeRunner gratis, de Python, Java, C y C++, en archivos Moodle XML para importar en tu banco de preguntas. Cada una tiene una respuesta modelo y pruebas, el enunciado viene en español, inglés o portugués, y todas tienen licencia CC BY 4.0.
¿Estas preguntas necesitan un servidor Jobe?
Sí, como toda pregunta de CodeRunner: el servidor Jobe es el que ejecuta el código de los estudiantes. Sirve cualquier servidor Jobe, porque las preguntas usan solo los tipos de pregunta que ya trae CodeRunner. Sin un servidor propio, usa el servidor compatible con Jobe de OnlineCompiler.io (https://api.onlinecompiler.io/api), para todo el sitio o, con la descarga con clave de esta página, solo para estas preguntas.
¿Con qué versiones de Moodle y CodeRunner funcionan?
Con cualquier Moodle que tenga CodeRunner instalado, porque las preguntas usan solo los tipos de pregunta que ya trae CodeRunner y el formato Moodle XML estándar. Las versiones actuales de CodeRunner (5.x) piden Moodle 4.3 o posterior, y esta página tiene los pasos de importación para Moodle 4.x y para Moodle 5.0 o posterior. Una pregunta con su propio servidor Jobe y su clave se probó en Moodle 4.5 con CodeRunner 5.10.9.
¿Puedo modificar las preguntas?
Sí. Una vez importadas, son preguntas normales de CodeRunner en tu banco de preguntas: cambia el enunciado, las pruebas, la puntuación o la respuesta modelo. La licencia CC BY 4.0 también te permite compartir tus versiones modificadas, dando el crédito a OnlineCompiler.io.
¿Las preguntas están en español?
Sí. Cada paquete tiene una versión con el enunciado en español, además de inglés y portugués, con el mismo código y las mismas pruebas; solo cambia el texto de la pregunta.
¿Cómo se comprueban las preguntas?
Cada respuesta modelo pasa todas las pruebas de su pregunta en un servidor Jobe estándar y en OnlineCompiler.io. Lo comprobamos ejecutando cada una con las mismas plantillas de los tipos de pregunta que ya trae CodeRunner, en los dos servidores, e importando cada archivo de paquete en un Moodle 4.5 con CodeRunner 5.10, donde se califica la respuesta modelo de cada pregunta.
¿Cómo reciben retroalimentación los estudiantes?
Con el botón Check: el estudiante ejecuta su código contra las pruebas y ve una tabla con la salida esperada y la obtenida en cada prueba visible. Una o más pruebas aparecen como ejemplo en el enunciado, y las pruebas ocultas no se muestran, para que nadie escriba una respuesta que solo acierte los ejemplos; si una falla, CodeRunner solo avisa que falló una prueba oculta. El estudiante puede corregir su código y presionar Check otra vez, perdiendo un poco de la nota en cada intento fallido.