Create Subparts in one problem on MATLAB grader

2 vues (au cours des 30 derniers jours)
Shruthi Srinivasan
Shruthi Srinivasan le 20 Jan 2024
Commenté : Dyuman Joshi le 22 Jan 2024
Is it possible to create multiple subparts under one problem in MATLAB grader? If so how can we do it?
  3 commentaires
Cris LaPierre
Cris LaPierre le 20 Jan 2024
Modifié(e) : Cris LaPierre le 20 Jan 2024
Could you please clarify what you mean by 'subparts'? What would this look like, and what would be the reason for doing this?
Shruthi Srinivasan
Shruthi Srinivasan le 20 Jan 2024
Modifié(e) : Shruthi Srinivasan le 20 Jan 2024
To provide more clarity, Say there are three questions, one question deals with solving for hypotenuse, other the problem the adjacent side and the third the opposite side. Can I have three questions under one problem?

Connectez-vous pour commenter.

Réponses (1)

Dyuman Joshi
Dyuman Joshi le 20 Jan 2024
Modifié(e) : Dyuman Joshi le 20 Jan 2024
Yes, in addition to tests provided by the MATLAB Grader, you can include your custom assessments. See the documentation for
> Function based problems -
> Script based problems -
Here is an example of custom test case using assert -
out = zeros(3,4,'uint8');
%%
%Check for data-type of the output
assert(isa(out, 'uint8'), 'The output must be a Unsigned 8-bit integer array')
%%
%Check for size of the output
assert(isequal(size(out), [3 4]), 'The output must be of size [3 4]')
%%
%Check for values of the output
assert(isequal(out, ones(3,4,'uint8')), 'The obtained output is not correct')
Error using assert
The obtained output is not correct
In case, there are multiple cases for which you want to check you can club them together as well -
%Let fun be the function where the code is written
%%
out1 = fun(in1);
assert(isa(out1, 'uint8'), 'The output must be a Unsigned 8-bit integer array')
assert(isequal(size(out1), [3 4]), 'The output must be of size [3 4]')
assert(isequal(out1, ones(3,4,'uint8')), 'The obtained output is not correct')
%%
out2 = fun(in2);
assert(isa(out2, 'uint8'), 'The output must be a Unsigned 8-bit integer array')
assert(isequal(size(out2), [6 6]), 'The output must be of size [6 6]')
assert(isequal(out1, uint8(magic(6))), 'The obtained output is not correct')
  4 commentaires
Shruthi Srinivasan
Shruthi Srinivasan le 20 Jan 2024
I see, Just a follow up question, say a folder has 2 problems can we automatically incorporate Canvas to cummulatively grade the folder rather than assigning individual grades to the problems?
Dyuman Joshi
Dyuman Joshi le 22 Jan 2024
I am not familiar with Canvas, however based on this particular video it seems you can put the questions together in a group and MATLAB Grader will automatically grade it.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by