跳转至

question.html 的元件

ZJUI-Learn 问题 是由 question.html ("elements") 内的 pl-* 标签构建的。这些元素定义了问题的行为:学生看到什么、输入什么以及如何评分。此页面列出了按您要执行的操作分组的每个元素。如果您没有找到所需的元素/行为,请考虑使用自定义等级函数 (recommended) 或构建自定义元素

Tip

已经知道您想要哪个元素了吗?使用侧面的导航菜单,或参见下面的按字母顺序排列的参考

您选择的元素将取决于问题的类型和复杂性。一个简单的问题可能包含一个问题面板提示(使用 pl-question-panel),后跟单个 提交元素。对于更复杂的提示,您可能需要包含显示元素,例如图形、代码和剖面。为了向学生和评分者提供更多反馈,可以有条件地显示其他内容 在不同的面板和上下文中。

提交要素

提交元素收集学生的回复。在每个小节中,元素大致按照您应达到的顺序列出。

What is the student submitting?SelectionNumeric inputText & symbolic inputDrawings & imagesCode & files Pick or arrangefrom a fixed setA number, vector,or matrixFree text, essay,or math expressionDrawing, photo,or scanCode or uploaded file

选择

当学生从固定的集合中挑选或排列物品时。

???注意“决策流程图”

![Decision flowchart for selection-style input elements](./element-decision-selection.d2){layout="elk" pad="0" scale="1"}

数字输入

当响应是数字时 - 整数、小数、带单位的值或矩阵。

???注意“决策流程图”

![Decision flowchart for numeric input elements](./element-decision-number.d2){layout="elk" pad="0" scale="1"}

文本和符号输入

当响应是字符串、文章或数学表达式时。

???注意“决策流程图”

![Decision flowchart for text and symbolic input elements](./element-decision-text.d2){layout="elk" pad="0" scale="1"}

图纸和图像

当回复是手写作品的绘图、图表或照片时。

  • pl-drawing:从预定义的图形对象集合创建可自动分级的画布。
  • pl-image-capture:从本地相机或手机、平板电脑等外部设备捕获手写作品的图像。
  • pl-excalidraw:使用Excalidraw绘制矢量图。
  • pl-sketch:曲线和其他数学对象(例如点、渐近线、多边形)的自动分级草图。
  • pl-file-upload:接受使用外部工具生成的图像或文档(也在代码和文件下列出)。

???注意“决策流程图”

![Decision flowchart for drawing input elements](./element-decision-drawing.d2){layout="elk" pad="0" scale="1"}

代码和文件

当响应是在浏览器中编写或从磁盘上传的代码或文件时。

  • pl-file-upload:提供提交区域以获取具有特定命名方案的文件。
  • pl-file-editor:提供浏览器内代码编辑器,用于编写和提交代码。

对于需要更丰富的环境(多个文件、终端、IDE 或构建/运行循环)的代码,请使用 workspace<pl-workspace> 元素将工作区启动器嵌入到问题中。

???注意“决策流程图”

![Decision flowchart for code and file input elements](./element-decision-code.d2){layout="elk" pad="0" scale="1"}

显示元素

显示元素向学生呈现内容——图形、代码、数据、文件和布局包装——而不捕获任何提交。

媒体与人物

用于在问题旁边显示图像、绘图、图表或可下载文件。

代码、数据和变量

用于显示预先格式化的代码片段、数据框、矩阵或 Python 变量值。

布局和内容包装器

用于包装或模板化内容而不是呈现特定的数据类型。

  • pl-card:在卡片式组件中显示内容。
  • pl-template:显示胡子模板中的内容。
  • pl-overlay:在特定位置将元素层叠在一起 — 通常用于将输入字段放置在 pl-figurepl-drawing 上,用于标记图表问题。
  • pl-hidden-hints:当学生提交有关当前变体的更多内容时,逐步在问题提示中显示提示。

问题流程和反馈

这些元素决定了学生在问题生命周期的每个阶段看到的内容 - 问题提示、提交的答案以及评分后显示的任何反馈。

标准问题面板

在整个问题生命周期中向学生显示的三个主要内容面板。

  • pl-question-panel:仅在问题面板中显示的内容。实际的问题提示应该放在这里。
  • pl-submission-panel:仅在提交面板中显示的内容。其他反馈应放在此处。
  • pl-answer-panel:仅在答案面板中显示的内容。有关正确答案的其他详细信息应放置在此处。

???注意“面板是什么样子”

![Question panels](../question/panels.png)

有条件的可见性

用于使内容仅出现在某些面板中,或仅在特定的评分工作流程中出现。

提交反馈

用于显示学生提交的内容以及评分返回的结果。

参考

元素 类型 目的
pl-answer-panel 面板 仅在答案面板中显示。
pl-big-o-input 提交 渐近复杂度表达式。
pl-card 显示 卡片式内容包装。
pl-checkbox 提交 从列表/下拉列表中选择多个选项。
pl-code 显示 语法突出显示的代码。
pl-dataframe 显示 渲染一个数据帧。
pl-drawing 提交 可自动分级的图形画布。
pl-dropdown 已弃用 请参阅迁移
pl-excalidraw 提交 通过 Excalidraw 绘制自由形式的图表。
pl-external-grader-results 面板 外部平地机输出。
pl-external-grader-variables 显示 外部评分的预期/给定变量。
pl-figure 显示 显示图像。
pl-file-download 显示 提供可下载的文件。
pl-file-editor 提交 浏览器内代码编辑器。
pl-file-preview 显示 预览提交的文件。
pl-file-upload 提交 按名称上传文件。
pl-graph 显示 渲染图形(DOT、networkx、邻接)。
pl-hidden-hints 面板 逐步显示提示。
pl-hide-in-manual-grading 面板 在手动评分期间隐藏内容。
pl-hide-in-panel 面板 隐藏选定面板中的内容。
pl-image-capture 提交 从相机或设备捕获图像。
pl-integer-input 提交 整数值。
pl-manual-grading-only 面板 仅在手动评分期间显示。
pl-matching 提交 将每个条目与一个选项相匹配。
pl-matrix-component-input 提交 矩阵逐个单元地输入。
pl-matrix-input 提交 编程语言语法中的矩阵。
pl-matrix-latex 显示 矩阵为 LaTeX。
pl-multiple-choice 提交 从列表中选择一个选项。
pl-number-input 提交 带公差的数值。
pl-order-blocks 提交 排列代码或文本块。
pl-overlay 显示 在指定位置分层元素。
pl-prairiedraw-figure 已弃用 请参阅迁移
pl-python-variable 显示 设置 Python 变量的格式。
pl-question-panel 面板 仅在问题面板中显示。
pl-rich-text-editor 提交 用于论文的可格式化文本编辑器。
pl-sketch 提交 绘制曲线和数学对象。
pl-string-input 提交 字符串值。
pl-submission-panel 面板 仅在提交面板中显示。
pl-symbolic-input 提交 符号数学表达式。
pl-template 显示 渲染胡子模板。
pl-units-input 提交 带单位的数字。
pl-variable-output 显示 矩阵即受支持语言的代码。
pl-variable-score 已弃用 请参阅迁移
pl-xss-safe 显示 清理 HTML 内容。

已弃用的元素

Warning

为了向后兼容,仍支持以下元素,但不应在新问题中使用。

| 元素|使用 | 代替 | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | pl-dropdown | pl-multiple-choicedisplay="dropdown",或 pl-matching 用于共享相同选项的多个链接下拉菜单 | | pl-prairiedraw-figure | pl-drawing | | pl-variable-score |不需要,所有提交元素都包含分数显示选项。 |