入门¶
本指南将引导您完成在浏览器中创建第一个课程实例和评估的过程。
如果您是 ZJUI-Learn 的新手,请考虑首先阅读 概念 页面 - 本指南假设您知道什么是课程、课程实例、评估和问题。
!!! tip “课程内容存储在 Git 存储库中”
ZJUI-Learn 将所有课程内容存储在 **Git 存储库**中。这意味着课程配置文件(问题、评估、课程人员等)可以作为磁盘上的文件进行管理,这对于较大的课程人员来说是有益的。有关详细信息,请参阅[编辑和同步](../sync.md) 和[本地安装](../installing.md)。
在开始之前,您需要一个 ZJUI-Learn 课程空间。如果您还没有,请请求课程。获得批准后,您将获得 ZJUI-Learn 中课程的所有者权限。如果您在请求中提供了 GitHub 帐户,您还可以访问 GitHub 存储库来获取课程内容。
1. 打开你的课程¶
在 https://us.prairielearn.com(或您机构的 ZJUI-Learn 实例)登录。您的课程显示在主页上的具有讲师访问权限的课程下。

单击课程名称将其打开。您将进入课程实例页面。

侧边栏分为两个范围:
- 课程 (top):所有术语中的所有内容 - 问题、课程范围设置、问题库、课程工作人员。
- 课程实例 (bottom):一学期的课程 — 评估、成绩册、学生、LMS 连接。
2.创建课程实例¶
课程实例是课程的一项内容,例如“2025 年秋季”。从课程实例,单击添加课程实例。

填写:
- 长名称 — 学生看到的内容(例如,
Fall 2025)。 - 简称 — 目录安全标识符(例如,
Fa25)。没有空格。 - 发布设置 — 在构建时保留 未发布。您将在第 10 步中发布。
- 自助注册设置 — 如果您要与学生共享注册链接,请保留默认值;取消选中您是手动添加学生还是通过 LMS 添加学生。有关全套选项,请参阅注册控制。
- 课程实例权限 — 如果您想查看/编辑此课程实例的成绩,请选择 学生数据编辑器。 (您可以稍后从“人员”选项卡更改此设置。)
单击创建。您现在位于新课程实例内。
!!! tip “重用上学期的内容”
要克隆先前的实例及其所有评估,请不要单击“添加课程实例”,而是打开要复制的先前实例,转到**实例设置 → 设置**,然后滚动到**制作此课程实例的副本**。您可以选择编辑日期和任何新评估,但结构会保留。
3. 添加您的课程人员¶
如果您有助教或联合讲师,请立即邀请他们。转到课程侧栏中的员工。

单击 添加用户 并通过 UID(通常是类似电子邮件的标识)进行邀请。然后指定向您的员工提供的访问权限。
课程内容访问是指查看和创作课程内容的能力。这里最常用的角色是:
- 编辑器 — 可以创建和修改问题和评估。这是专为负责管理课程内容的联合讲师和助教而设计的。
- 查看者 — 可以查看问题和评估,但不能修改它们。这是为提供其他支持角色或课程观察员的助教而设计的。
课程实例访问是指对学生数据的访问。对于每个实例,工作人员可能被赋予以下角色:
- 学生数据编辑器 — 可以查看和修改该课程实例上的学生数据(例如注册状态和成绩)。必须赋予负责评分的助教这个角色。
- 学生数据查看器 — 可以查看此课程实例上的学生数据,但不能修改。这可以用于不参与评分的助教。
请参阅课程人员 了解完整的细分和推荐的角色。
4. 提出你的第一个问题¶
在课程侧栏中,单击问题。

(您的课程将为空 - 屏幕截图显示了已填充的课程,以便您可以看到布局。)单击 添加问题。我们强烈建议从模板开始,但在本教程中,我们将从一个空问题开始。

将其命名为 Find the area of a rectangle,将 QID 设置为 rectangle-area,选择 空问题,然后单击 创建问题。
您将进入问题的 文件 选项卡。

单击 question.html 旁边的 编辑 并将内容替换为:
<pl-question-panel>
<p>What is the area of a rectangle that has sides 4 and 5?</p>
</pl-question-panel>
<pl-multiple-choice answers-name="area">
<pl-answer correct="true">20</pl-answer>
<pl-answer correct="false">10</pl-answer>
<pl-answer correct="false">9</pl-answer>
<pl-answer correct="false">18</pl-answer>
<pl-answer correct="false">40</pl-answer>
</pl-multiple-choice>
pl-multiple-choice 是 ZJUI-Learn 的提交元素 之一 - 学生与之交互的输入。 元素目录 列出了您可以在此处使用的每个元素。

单击“保存”,然后单击“预览”选项卡。

选择一个选项并单击“保存并评分”。
!!! tip “建议随机”
尽管上面的问题以随机顺序提供选项,但该问题始终提供相同的选项集。我们鼓励您尽可能在所有自动评分问题中引入随机化。
5. 使用 server.py 添加随机化¶
问题的 server.py 为每个学生生成随机参数和 (optionally) 自定义成绩响应。返回文件并编辑 server.py:
import random
def generate(data):
a = random.randint(2, 5)
b = random.randint(11, 19)
data["params"]["a"] = a
data["params"]["b"] = b
data["params"]["distractor1"] = (a * b) / 2
data["params"]["distractor2"] = 2 * (a * b)
data["params"]["distractor3"] = 2 * (a + b)
data["params"]["distractor4"] = a + b
data["params"]["truearea"] = a * b
返回 Files 并再次编辑 question.html,现在使用模板化版本:
<pl-question-panel>
<p>What is the area of a rectangle that has sides {{params.a}} and {{params.b}}?</p>
</pl-question-panel>
<pl-multiple-choice answers-name="area">
<pl-answer correct="true">{{params.truearea}}</pl-answer>
<pl-answer correct="false">{{params.distractor1}}</pl-answer>
<pl-answer correct="false">{{params.distractor2}}</pl-answer>
<pl-answer correct="false">{{params.distractor3}}</pl-answer>
<pl-answer correct="false">{{params.distractor4}}</pl-answer>
</pl-multiple-choice>
保存并预览。单击 新变体 以查看值的变化。现在每个学生都会得到这个问题的不同版本。
!!! tip “你不需要从头开始写每个问题”
**添加问题**表单引导出一系列模板,这些模板分为三类:**基本问题**(硬编码的提示和答案)、**中级问题**(无需 Python 的内置随机化)和 **高级问题**(Python 驱动的随机化)。选择模板后,您将进入“文件”选项卡,其中包含准备编辑的工作 `question.html`(以及 `server.py`,如果适用)。

如需更具体的信息,请浏览 [**XC 101:示例课程**](https://us.prairielearn.com/pl/course/108/),其中包含 200 多个可立即复制的问题,涵盖每个元素和评分风格。要将其复制到您的课程中:
1. 打开 [XC 101](https://us.prairielearn.com/pl/course/108/) 并找到一个问题(**课程实例→SectionA** 具有按主题对问题进行分组的评估,例如“PL 元素的问题库”)。
2. 打开问题的 **预览** 选项卡,然后单击右上角的 **复制问题**。
3. 选择您的课程作为目的地并提交。
您现在正在自己的课程中编辑副本。重命名 QID 并根据需要进行调整。
6. 创建您的第一个评估¶
切换到您的课程实例(侧栏 → 课程实例)并单击 评估。

单击“添加评估”。

填写:
- 标题 — 学生可见(例如,
Geometric properties and applications)。 - 简称 — 目录标识符(例如,
homework1)。 - 类型 — 家庭作业,用于形成性练习,可无限次重试; 考试进行有限尝试的分级评估。以后无法更改类型。
- 集合 — 从
Homework、Quiz、Exam等中选择。该集合纯粹是组织性的;它不会改变行为。
单击创建。您将进入带有空白区域的评估。
7. 在评估中添加问题¶
转到评估的 问题 选项卡并单击 编辑。点击添加区域创建区域,然后点击区域底部的添加问题,搜索rectangle-area,并选择匹配的结果。

单击结果后,问题将添加到区域中:

如果需要,请设置分值,然后单击“保存”。
8.配置评估访问规则¶
打开评估的 访问 选项卡。在“默认”中,单击“编辑”。在日期控制中,选择预定发布,设置学生可以开始的发布日期/时间,选择截止日期,设置截止日期/时间,并将截止日期学分保持在100%。单击保存。
访问选项卡总结了发布窗口和到期日信用:

要了解有关不同访问控制选项的更多信息,请参阅评估访问控制文档。
9. 以学生身份预览¶
在与学生分享任何内容之前,请自行进行评估。打开用户菜单(右上角)并选择无访问限制的学生视图。

您可以准确地看到学生所看到的内容,再加上只有工作人员可以看到的黄色重新生成评估实例横幅:

!!! warning “编辑后重新生成”
每当您更改评估的问题、要点或区域时,您现有的试运行实例就会**过时** — 它是根据旧配置构建的。单击 **重新生成您的评估实例** 以放弃它并选择您的编辑。学生没有此选项 - 如果真正的学生在您进行更改后需要一个新实例,则工作人员必须为他们重新生成它。
单击问题以查看学生如何呈现:

完成后,从同一下拉列表切换回员工视图。
10. 学生的发布和招生¶
转到实例设置→发布。

选择“已发布”以使课程实例可供学生使用,然后点击“保存”。您可以在课程实例文档 中阅读有关发布的更多信息。
要让学生加入,您可以从 实例设置 → 自行注册 共享注册链接。学生点击链接并自行注册。请参阅注册控制 了解代码、机构限制以及在截止日期后禁用自行注册。
后续步骤¶
您现在拥有一个带有已发布评估的工作课程实例:partying_face:。从这里,前往讲师指南,获取有关每个 ZJUI-Learn 功能的参考材料。