Use when creating, asking, grading, or explaining multiple choice questions for MATLAB programming practice, concept checks, quizzes, or tutoring exercises.
Scanned 8/31/2026
Install via CLI
openskills install matlab/agent-skills-playground---
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](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:
```text
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.
No comments yet. Be the first to comment!