在 MATLAB Grader 中创建练习题
MATLAB® Grader™ 是基于浏览器的环境,用于创建可以添加到课程中的 MATLAB 交互式练习题。对于每个练习题,您需要描述编程任务,提供参考答案,并指定如何评判学生答案。MATLAB Grader 会自动运行练习测试以确定答案的正确性并提供反馈。
要访问 MATLAB Grader,请在 grader.mathworks.com 上登录您的 MathWorks® 帐户。
设置题库
首先创建一个题库来存储和整理您的练习题。在 MATLAB Grader 中的内容选项卡上,点击创建题库。MATLAB Grader 会提示您为题库和题库中的分组创建名称,以便存储练习题。您可以随时更改题库或分组的名称。
添加并描述练习题
通过点击添加练习题(这会带您进入“添加练习题”页面)向您的题库中添加练习题。在该页面中,您可以创建新的练习题,从您的某个题库中选择现有的练习题,或者从“Getting Started with MATLAB Grader”题库中选择示例练习题。该题库包含一些示例练习题,可供您快速入门。
在“练习题”页面上,为练习题指定标题、描述和说明,确保它们以您希望的方式呈现给学生。描述和说明可以包括格式化文本、图像、链接和方程。在说明中,指定学生必须在其代码中使用的输入以及代码必须生成的输出。在说明中添加影响评判的具体详细信息,例如期望的数据类型和测量单位。在此示例中,说明指定学生应以 mm3 为单位计算圆锥体的体积,并将结果赋给名为 vol 的变量。

如果您的练习题需要使用数据或代码文件,请附加这些文件。在引用的文件下,点击添加文件。
定义答案
MATLAB 对脚本和函数的评估方式不同,因此,您必须指定学生应为每个练习题创建的代码类型。在评判脚本时,您可以检查所有变量的值。在评判函数时,您只能检查函数输出值。
对于任一练习题类型,请编写可供 MATLAB Grader 用于评判学生答案的参考答案。学生无法查看参考答案。在这个脚本练习题示例中,参考答案计算圆锥体的体积并将该值赋给变量 vol。

可以选择为学生提供包含起始代码的模板。您可以通过点击挂锁图标来锁定学生无法编辑的代码行。在此学生模板示例中,注释行和用于设置圆锥体参数的代码行被锁定。

当您创建函数练习题时,请考虑在学生模板中锁定函数定义行。锁定该行可确保练习测试能够使用期望名称调用学生答案,例如此示例中的 tempF2C。

在函数练习题中,您还可以提供学生用于调用其函数的代码。该代码可以包含有代表性的输入和输出。学生可以按原样运行提供的该代码,也可以对其进行修改以供自己测试。如果需要,学生还可以将修改后的代码恢复为您提供的代码版本。当学生点击运行函数时,该代码会运行,但当学生点击提交时,该代码不会运行。在此示例中,为变量 tF 赋温度值并将其传递给学生函数。

要以学生查看练习题的方式查看练习题并与之交互,请点击“练习题”页面底部的学生预览。学生可以在 MATLAB Online™ 中打开练习题,但在预览页面中,此选项仅在您将练习题保存为终稿后才可用。
评判学生答案
MATLAB Grader 包含预定义测试类型,用于检查变量的值,以及检查学生是使用还是避免使用指定的函数或关键字。
例如,要评判脚本练习题中变量的值,请按照以下步骤操作:
在练习测试中,点击添加练习测试。
在测试详细信息顶部的文本框中,输入简短描述。学生可以在编写答案时查看此描述。描述设定了对练习测试的期望。
在测试类型下,选择变量等于参考答案。指定要比较的变量的名称。
除了默认反馈之外,您还可以选择添加要针对错误结果显示的反馈。要查看默认反馈,请点击与该框对应的信息图标
。反馈可以包括格式化文本、图像、方程和链接。

您还可以编写 MATLAB 代码来检查答案。该代码可以使用与预定义测试类型对应的函数:assessVariableEqual、assessFunctionPresence 和 assessFunctionAbsence。您也可以编写针对错误结果返回错误的自定义测试。
在您的代码中:
对于脚本练习题 - 要引用参考答案中的变量,请添加前缀
referenceVariables,例如referenceVariables.。要引用学生变量,请使用变量名称。myvar对于函数练习题 - 要调用参考答案中的函数,请添加前缀
reference,例如reference.。要调用学生函数,请使用函数名称。您无法评判函数中的变量。myfunction
例如,检查学生的 tempF2C 函数是否正确地将温度从华氏度转换为摄氏度。首先,使用相同的输入调用学生函数和参考函数。然后,调用 assessVariableEqual 来比较结果。

练习测试可以包括以下附加选项:
评分方法 - 默认情况下,如果所有测试运行时都未出现错误,则答案正确;如果有任何测试出现错误,则答案错误。要允许使用部分学分,请将该方法设置为加权评分。然后,指定每项练习测试的相对权重。
仅对初始错误显示反馈(仅适用于脚本练习题)- 择此选项将显示第一个错误的完整消息,并折叠后续错误的信息。学生可以选择显示所有后续反馈。
自测 - 在选择此选项后,学生可以在提交答案终稿之前运行自测。学生可以查看自测的代码,因此,请确保代码不包含练习题的答案。
通过点击页面底部的验证参考答案来验证您的参考答案是否运行并通过练习测试。
有关编写练习测试的详细信息,请参阅学生的测试答案。
保存练习题
练习题有两种可能的状态:草稿和终稿。学生只能查看处于终稿状态的练习题。您可以随时通过点击存为终稿或设置为草稿来更改练习题的状态。
另请参阅
assessVariableEqual | assessFunctionPresence | assessFunctionAbsence