Planet Python на русском
Подписаться
Грэм Дамплтон: Представляем jupyterlab-workshop
Автор разработал jupyterlab-workshop, расширение для JupyterLab, чтобы устранить ограничения использования обычных Jupyter-ноутбуков для образовательных мастер-классов. Это расширение разделяет инструкции от фактической работы, которую должен выполнить учащийся. Инструкции представлены на боковой панели, причем каждый шаг является выполнимым действием в среде JupyterLab. Эти действия могут включать выполнение команд терминала, изменение файлов, создание ноутбуков и выполнение кода. Мастер-класс также может проверять прогресс учащегося и требовать завершения задач, прежде чем разрешить ему продолжить.В отличие от ноутбуков, где учащиеся могут пассивно наблюдать за выполнением кода, это расширение обеспечивает активное участие, поскольку действия выполняются в реальном времени. Оно преодолевает ограничение ноутбуков, связанных с одним языком, позволяя взаимодействовать с более широкой средой JupyterLab и внешними инструментами. Это разделение предотвращает смешение учебного контента и выполненной работы, предлагая более четкий путь обучения. Боковая панель обеспечивает навигацию, отслеживание прогресса и детали выполненных действий.Каждый исполняемый шаг не симулируется; нажатие на действие выполняет его в живом терминале или выполняет назначенную задачу. Расширение поддерживает различные действия, включая операции с терминалом, управление файлами, взаимодействие с ноутбуками и манипулирование интерфейсом. Мастер-классы могут быть даже разработаны для организации пользовательского интерфейса для оптимального обучения в определенные моменты. Контрольные точки позволяют учащимся сохранять свой прогресс и возвращаться к известному состоянию в случае возникновения ошибок.Расширение включает надежную систему проверки, позволяющую проводить проверки с помощью кода Python, команд оболочки или предикатов на основе файлов. Также могут быть интегрированы викторины, ответы на которые будут использоваться в последующих шагах. Файл манифеста определяет, является ли завершение задачи рекомендательным или обязательным. Безопасность обеспечивается механизмом доверия, при котором учащиеся предоставляют мастер-классам определенные возможности перед выполнением.Сам мастер-класс структурирован как каталог, содержащий файл манифеста, файлы Markdown для страниц и любые необходимые стартовые файлы. Такая структура в виде обычного текста облегчает контроль версий. Страницы написаны на MyST Markdown, а действия определены в блоках кода с ограждением. Расширение может быть установлено локально или использоваться через такие сервисы, как mybinder.org и GitHub Codespaces, что позволяет запускать мастер-классы в различных средах без сложной настройки. Автор решил не использовать свою предыдущую платформу Educates, потому что она требовала Kubernetes, что ограничивало ее доступность для небольших команд и отдельных лиц.