Matlab Grader Assessment Feedback
2 ビュー (過去 30 日間)
古いコメントを表示
Justin Wyss-Gallifent
2020 年 6 月 30 日
コメント済み: Justin Wyss-Gallifent
2020 年 6 月 30 日
It is possible to incorporate Matlab code in an assessment test which gives specific results to the students?
To clarify - suppose the students have to write a function in Grader which adds two numbers, something simple like:
function r = addthem(a,b)
r = a+b;
end
Suppose then my assessment test wants to feed a bunch of sample input in a simple way such as:
% Innocent until proven guilty.
pass = 1
% Run learner solution in multiple sets of inputs.
for count = [1:100]
a = randi([-100,100])
b = randi([-100,100])
% Compare.
if addthem(a,b) != reference.addthem(a,b)
% Guilty.
pass = 0;
end
end
assessVariableEqual('pass',1);
Is it possible for this function to be modified so that it shows the student, when the student submits the code, exactly what input and output are being printed? Putting a disp (or some such) inside the assessment doesn't work - can the assessment be modified to generate feedback in any way?
0 件のコメント
採用された回答
Steven Lord
2020 年 6 月 30 日
I haven't tried this, but something like this should work:
% Innocent until proven guilty.
pass = 1;
feedback = "";
% Run learner solution in multiple sets of inputs.
for count = 1:100
a = randi([-100,100])
b = randi([-100,100])
% Compare.
if addthem(a,b) ~= reference.addthem(a,b)
% Guilty.
pass = 0;
feedback = feedback + "Your function failed for inputs " + a + " and " + b + newline;
end
end
assessVariableEqual('pass',1, 'Feedback', feedback);
Though I might move the assessment into the loop.
% Run learner solution in multiple sets of inputs.
for count = 1:100
a = randi([-100,100]);
b = randi([-100,100]);
% Compare.
result = addthem(a, b);
assessVariableEqual('result', reference.addthem(a,b), 'Feedback', ...
"Your function gave an incorrect answer, " + result + ", for inputs " + a + " and " + b);
end
その他の回答 (0 件)
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!