实验和挑战
LabEx 中最小的资源单位是交互式的实验(Lab)和挑战(Challenge),二者也经常都统称为 Lab。
多个实验和挑战可以组合成一个课程(Course),多个课程可以组合成一个学习路径(Skill Tree)。
示例:Linux Skill Tree
实验和挑战的区别
我们的在线学习平台提供循序渐进的交互式 Linux 和 DevOps 实验。
实验是互动的、预先配置的、沙盒式的开发环境,并伴有指导性的教程。
一个精心设计的实验将执导学习者如何使用一个特定的工具或方法来完成一个特定的任务。
我们需要有经验的技术专家或工程师来帮助充实这个平台的实验。
实验具有以下特点:
- 每个实验应该是一个独立的学习单元,包含 1 个或多个 Skills。
- 每个实验都有一个具体的目标和多个实现该目标的步骤,也就是我需要学习一个关于 XX 内容,以及学习的步骤。
- 每个步骤都包含一个主要 Skill 和若干个次级 Skills 的内容,Skills 来自官方拟定的 Skill Tree。
- 每个步骤都需要验证脚本,以帮助用户确认是否完成,也是「交互式」的核心。
- 学习者完成一个步骤的时间不超过 3 ~ 5 分钟,学习者完成一个实验的时间一般不超过 30 分钟,以 5 ~ 15 分钟为宜。
- 实验步骤内容不存在跳跃性,学习者可以按照步骤顺序学习,且不会被卡住。
实验示例:Linux Basic Operation
实验的单个 Step 一般由图文、代码混合排版构成,围绕着目标进行讲解和实现。出现代码块的地方,一般需要在前面或者后面有对代码块的解释。学生跟着实验步骤,一步一步地操作,在线上环境完成实验。
我们的在线学习平台提供循序渐进的交互式 Linux 和 DevOps 实验。
实验是互动的、预先配置的、沙盒式的开发环境,并伴有指导性的教程。
一个精心设计的实验将执导学习者如何使用一个特定的工具或方法来完成一个特定的任务。
我们需要有经验的技术专家或工程师来帮助充实这个平台的实验。
实验具有以下特点:
- 每个实验应该是一个独立的学习单元,包含 1 个或多个 Skills。
- 每个实验都有一个具体的目标和多个实现该目标的步骤,也就是我需要学习一个关于 XX 内容,以及学习的步骤。
- 每个步骤都包含一个主要 Skill 和若干个次级 Skills 的内容,Skills 来自官方拟定的 Skill Tree。
- 每个步骤都需要验证脚本,以帮助用户确认是否完成,也是「交互式」的核心。
- 学习者完成一个步骤的时间不超过 3 ~ 5 分钟,学习者完成一个实验的时间一般不超过 30 分钟,以 5 ~ 15 分钟为宜。
- 实验步骤内容不存在跳跃性,学习者可以按照步骤顺序学习,且不会被卡住。
实验示例:Linux Basic Operation
实验的单个 Step 一般由图文、代码混合排版构成,围绕着目标进行讲解和实现。出现代码块的地方,一般需要在前面或者后面有对代码块的解释。学生跟着实验步骤,一步一步地操作,在线上环境完成实验。
挑战用于测试学习者在特定领域技能的掌握情况。挑战和实验在组成结构上几乎完全相同,主要区别在于:挑战是设计给学习者独立完成的一系列问题,而实验则包括学习步骤,也就是上文所说的指导性的教程。
你可以简单理解为实验是包含完整解答思路的挑战。这是因为实验包含完整的操作步骤,而挑战只包括学生需要完成的目标。
- 实验:逐步学习 Linux 的 cat 命令的使用,包括 cat 相关的参数的介绍和示例操作代码。
- 挑战:使用 cat 命令将两个文件合并成一个文件。只有目标,要求和最终示例,怎么操作达到目标应该是用户自己思考和解决。
当学生不能通过某个挑战时,他们可以学习相同 Skills 的实验。这也就是为什么需要 Skill Tree 来串联挑战和实验的 Skills。
挑战具有以下特点:
- 每个挑战都应该是一个独立的测试单元。
- 每个挑战都有背景介绍和目标,挑战要求和结果示例。
- 每个步骤都包含一个主要 Skill和若干个次级 Skill,来自 Skill Tree。
- 每个步骤都必须包含 Verify 验证脚本。(详细说明)
- 学习者完成挑战一般没有时间限制,因为难度因人而异,很难预估。
挑战示例:Linux Basic Operation
挑战的单个 Step 的参考结构,一般由背景,Tasks 目标描述,Requirements 要求和 Examples 示例构成。
- 背景一般是一些介绍性段落,不宜太长,和 intro.md 的内容可能比较相似,但是一般会更短;
- Tasks/Objectives 目标要简洁清晰,让学生能尽快了解清楚自己要干什么,一般以列表样式呈现;
- Requirements 的目的是规范学生的操作,比如需要在某个目录下创建某个文件,或者需要在某个文件中添加某些内容,一般以列表样式呈现;
- Examples 是学生的操作结果示例,可以帮助学生更好地理解自己的操作是否正确。也就是说,用户可以通过对比 Example 来判断自己是否已经接近或者达到了目标。