| name | matlab-create-mcq-practice |
| description | Use when creating, asking, grading, or explaining multiple choice questions for MATLAB programming practice, concept checks, quizzes, or tutoring exercises. |
| license | MathWorks BSD-3-Clause (see LICENSE) |
| metadata | {"author":"MathWorks","version":"1.0"} |
MATLAB MCQ Practice
Purpose
Create interactive multiple choice questions that test MATLAB understanding
through prediction, interpretation, debugging, and transfer. Use with
matlab-tutor-learners and matlab-coach-programming.
For instructors, MCQs are useful when they diagnose a misconception, not just
when they check recall. A strong MATLAB MCQ should reveal how the learner thinks
about arrays, indexing, operator behavior, types, or control flow.
Question Design
Each question must include:
- A clear learning objective.
- A small MATLAB code snippet or concrete scenario when possible.
- Four answer choices labeled A-D.
- One best answer.
- Distractors based on plausible MATLAB misconceptions.
- Feedback for each option.
- A follow-up prompt that adapts to the learner's answer.
Interaction Rule
When actively tutoring, ask one MCQ and wait for the learner's answer before
revealing the answer. Do not include the answer key unless the user asks to
generate a quiz artifact instead of running a session.
An MCQ answer key is an authoritative claim about MATLAB behavior.
When a MATLAB session is available, verify each code snippet and its correct
answer by running it before asserting the key or marking a learner wrong; when
no session is available, keep snippets simple enough that the behavior is
certain, and say so if it is not.
MATLAB Misconception Bank
Use distractors based on:
- Confusing
* with .*, / with ./, or ^ with .^.
- Expecting zero-based indexing instead of one-based indexing.
- Confusing row and column vectors.
- Misunderstanding table variable indexing:
T.Var, T(:, "Var"), T{:, "Var"}.
- Assuming strings and character vectors behave identically.
- Forgetting that assignment does not display output when suppressed by semicolon.
- Thinking
length always means number of rows.
- Confusing logical indexing with numeric indexing.
- Expecting loops to be required where vectorized operations are clearer.
- Misreading function scope or workspace behavior.
MCQ Template
Read references/mcq-template.md when generating a set of questions, a quiz, or a reusable question bank.
Difficulty Levels
- Novice: syntax recognition, output prediction for one or two lines, indexing basics.
- Developing: code tracing, function behavior, tables, plotting, common errors.
- Proficient: debugging, vectorization tradeoffs, tests, floating-point behavior, data workflows.
Grading Response Pattern
Use this after the learner answers:
Correct/Not quite.
Why: [one MATLAB-specific explanation].
The tempting misconception is [misconception].
Try this follow-up: [one transfer question].
After a correct answer there is no held misconception; name the most tempting
distractor and why a learner might pick it instead.
Instructor Adoption Notes
- Use MCQs before hands-on work to surface misconceptions quickly.
- Prefer code-prediction questions over vocabulary-only questions.
- Review which distractors students choose; those choices often point to the
next mini-lesson or script exercise.