Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Soluciones de prueba de estudiantes

Cuando cree elementos de evaluación en MATLAB® Grader™, defina pruebas que evalúen si la solución de su estudiante cumple los criterios de éxito o no.

Definir pruebas

Para definir pruebas, puede utilizar las pruebas predefinidas disponibles en la lista Tipo de prueba o escribir su propio código de MATLAB. Las opciones de prueba predefinidas incluyen:

  • Variable igual a la solución de referencia: compruebe la existencia, el tipo de datos, el tamaño y el valor de una variable. Esta opción solo está disponible en la lista Tipo de prueba para evaluaciones de script. A los valores numéricos se les aplica una tolerancia predeterminada de 1e-4.

  • Función o palabra clave incluida: compruebe la presencia de funciones específicas o palabras clave.

  • Función o palabra clave no incluida: compruebe que las soluciones de sus estudiantes no incluyen las funciones o palabras clave especificadas.

Por ejemplo, si desea que sus estudiantes utilicen la función taylor para calcular la aproximación de la serie de Taylor de una función determinada, especifique estas opciones:

  • En la lista Tipo de prueba, seleccione Función o palabra clave incluida.

  • Especifique la función taylor como la función que debe utilizar su estudiante.

  • Opcionalmente, especifique los comentarios complementarios que recibe su estudiante si no utiliza la función prevista.

Test options shows boxes for the title, test type, functions and keywords, and feedback. The test type option Function or Keyword Is Present is selected.

Para una evaluación de script, puede evaluar una variable utilizando el tipo de prueba predefinido, Variable igual a la solución de referencia. Por ejemplo, evalúe si una variable tiene el tamaño adecuado, los valores y el tipo de datos esperados comparándola con la variable del mismo nombre de su solución de referencia.

Test options shows boxes for the title, test type, variable name to compare, functions and keywords, and feedback. The test type option Variable Equals Reference Solution is selected and V is specified as the variable name to compare.

También puede escribir código de MATLAB seleccionando la opción Código de MATLAB en la lista Tipo de prueba. Siga las siguientes directrices:

  • Evaluación de la exactitud: puede utilizar funciones que corresponden a los tipos de prueba predefinidos: assessVariableEqual, assessFunctionPresence y assessFunctionAbsence. Alternativamente, puede escribir una prueba personalizada que devuelva un error para resultados incorrectos.

  • Nombres de variables en evaluaciones de script: para hacer referencia a variables en su solución de referencia, añada el prefijo referenceVariables, como referenceVariables.myvar. Para hacer referencia a las variables de sus estudiantes, utilice el nombre de la variable.

  • Nombres de funciones en evaluaciones de funciones: para llamar a la solución de referencia, añada el prefijo reference, como reference.myfunction. Para llamar a la función de su estudiante, utilice el nombre de la función.

  • Ámbito de las variables: las variables que se crean dentro del código de prueba solo existen dentro de la prueba de evaluación.

Por ejemplo, supongamos que un estudiante debe calcular un valor para la variable X que puede variar más que la tolerancia predeterminada. Para comparar el valor de la solución de su estudiante con el valor de su solución de referencia, especifique las variables y la tolerancia llamando a la función assessVariableEqual.

The MATLAB code defines X_expected as referenceVariables.X. The code then calls the assessVariableEqual function with arguments 'X', X_expected, and AbsoluteTolerance=1e-2.

Para probar evaluaciones de función, llame a las funciones de su estudiante y de referencia con un valor de entrada de prueba y compare los valores de salida. Por ejemplo, este código comprueba que una función de su estudiante llamada tempF2C convierte correctamente una temperatura de grados Fahrenheit a Celsius.

temp = 78;
tempC = tempF2C(temp);
expectedTemp = reference.tempF2C(temp); 
assessVariableEqual('tempC',expectedTemp);

Sugerencia

El mensaje de error predeterminado de la función assessVariableEqual incluye el nombre de la variable que se ha probado, como X y tempC en los ejemplos anteriores. Para evaluaciones de función, esta variable se encuentra en el script de la prueba de evaluación y no en el código de su estudiante. Utilice nombres significativos que su estudiante pueda reconocer, como una salida en la declaración de la función.

Una misma prueba de evaluación puede incluir varias pruebas. Por ejemplo, este código comprueba que su estudiante implementa una función llamada normsinc que gestiona correctamente tanto valores cero como valores distintos de cero. El caso cero incluye información adicional para sus estudiantes que utilizan el argumento nombre-valor Feedback en la función assessVariableEqual.

nonzero = 0.25*randi([1 3]);
y_nonzero = normsinc(nonzero);
expected_y_nonzero = reference.normsinc(nonzero); 
assessVariableEqual('y_nonzero',expected_y_nonzero);

y_zero = normsinc(0);
expected_y_zero = reference.normsinc(0); 
assessVariableEqual('y_zero',expected_y_zero, ...
   Feedback='Inputs of 0 should return 1. Consider an if-else statement or logical indexing.');

Dar una puntuación parcial

De forma predeterminada, el software considera que una solución es correcta si se superan todas las pruebas y la considera incorrecta si se suspende alguna. Para dar una puntuación parcial, asigne ponderaciones relativas a las pruebas cambiando Método de puntuación a Ponderado. MATLAB Grader calcula el porcentaje de cada prueba de acuerdo con el total de las ponderaciones relativas, por lo que puede definir las ponderaciones como puntos o porcentajes.

Por ejemplo, si se establece la ponderación relativa de todas las pruebas en 1, cada prueba tiene la misma ponderación. Establecer algunas ponderaciones en 2 hace que la ponderación de esas pruebas sea el doble que las de las pruebas con una ponderación establecida en 1.

Four sample tests, two with a relative weight of 1 and two with a relative weight of 2. The corresponding percentages are 17% and 33%, for a total of 100%.

Alternativamente, puede introducir porcentajes para las ponderaciones.

The same four sample tests show relative weights of 10, 15, 15, and 60 for a total of 100%

Especificar pruebas previas

Las pruebas previas son pruebas de evaluación que sus estudiantes pueden realizar para determinar si su solución va por buen camino antes de enviarla para su calificación. Considere la posibilidad de utilizar una prueba previa para guiar a sus estudiantes cuando haya varios enfoques correctos, pero la prueba requiera un enfoque concreto o cuando establezca un límite de intentos para realizar la tarea.

Las pruebas previas difieren de las pruebas de evaluación comunes en estos aspectos:

  • Los resultados de las pruebas previas no se registran en el libro de notas antes de su envío.

  • La ejecución de pruebas previas no cuenta en lo que respecta al límite de intentos.

  • Sus estudiantes pueden ver el código y los detalles de las pruebas previas, incluida la salida de las pruebas con código de MATLAB, independientemente de si la prueba se supera o no. Asegúrese de que la prueba previa no incluya la solución de la evaluación.

Al igual que las pruebas de evaluación comunes, las pruebas previas se ejecutan cuando sus estudiantes envían sus soluciones y contribuyen a la calificación final.

Por ejemplo, supongamos que sus estudiantes deben definir un sistema de ecuaciones lineales que se puede organizar de varias formas. Defina una prueba previa para asegurarse de que la solución de su estudiante tiene el orden y los coeficientes que se esperan.

The Pretest check box is selected at the bottom of the test details.

Sus estudiantes observan un error en una prueba que han suspendido y pueden modificar la solución.

Pretest assessment results show an error message "Variable V has an incorrect value."

Controlar la visualización de errores para una evaluación de script

En una evaluación de script, un error inicial puede provocar errores posteriores. Puede animar a sus estudiantes a centrarse primero en el error inicial.

Si se selecciona la opción Mostrar comentarios solo para error inicial, aparecen comentarios detallados del error inicial, pero se ocultan para los errores posteriores, de forma predeterminada. Su estudiante puede mostrar estos comentarios adicionales haciendo clic en Mostrar comentarios.

Assessment test results show that 1 of 4 tests passed. An assessment test and error message are shown for the failed second test, and linked text "Show Feedback" appears above the hidden details of the failed third and fourth tests.

Consulte también

Temas