Graham Dumpleton:介绍jupyterlab-... 笔记

Graham Dumpleton:介绍jupyterlab-workshop

作者开发了 jupyterlab-workshop,这是一个 JupyterLab 扩展,旨在解决使用纯 Jupyter Notebook 开展教育研讨会时的局限性。该扩展将指令与学习者实际执行的任务分离开来。指令以侧边栏面板的形式呈现,每一步都是 JupyterLab 环境中的可操作项。这些操作包括运行终端命令、修改文件、创建 Notebook 以及执行代码。研讨会还可验证学习者的进度,并在允许其继续之前强制完成特定任务。与学习者可能被动观看代码执行的 Notebook 不同,该扩展确保学习者在实时执行操作时积极参与。它克服了 Notebook 仅限于单一语言的约束,通过使学习者能够与更广泛的 JupyterLab 环境和外部工具进行交互来实现这一点。这种分离避免了教学内容与已完成工作的混淆,提供了更清晰的学习路径。侧边栏面板提供导航、进度跟踪以及已执行操作的详细信息。每个可执行的步骤并非模拟;点击操作会在实时终端中执行它,或执行指定的任务。该扩展支持多种操作,包括终端操作、文件管理、Notebook 交互和界面操作。研讨会甚至可以设计为在特定时点排列用户界面以优化学习效果。检查点允许学习者保存进度,并在出错时恢复到已知状态。该扩展包含一个健壮的验证系统,支持通过 Python 代码、Shell 命令或基于文件的谓词进行检查。还可以集成测验,答案将反馈到后续步骤中。清单文件(manifest file)规定任务完成是建议性的还是强制性的。安全性通过信任机制得到解决,学习者在执行前需授予研讨会特定的能力。研讨会本身的结构是一个目录,包含清单文件、用于页面的 Markdown 文件以及任何必要的起始文件。这种纯文本结构便于版本控制。页面使用 MyST Markdown 编写,操作定义在代码块中。该扩展可本地安装,或通过 mybinder.org 和 GitHub Codespaces 等服务使用,使研讨会能够在各种环境中运行,而无需复杂的设置。作者选择未使用其之前的平台 Educates,因为该平台需要 Kubernetes,限制了其对小团队和个人的可访问性。
CdXz5zHNQW_ghHpRchT3T.png