Planet Python 日本語
フォロー
グラハム・ダンプルトン:jupyterlab-workshopの紹介
著者は、教育ワークショップでプレーンなJupyter Notebookを使用する際の制限に対処するために、JupyterLab拡張機能であるjupyterlab-workshopを開発しました。この拡張機能は、指示と学習者が行う実際の作業を分離します。指示はサイドバーパネルに表示され、各ステップはJupyterLab環境内で実行可能な項目となります。これらのアクションには、ターミナルコマンドの実行、ファイルの変更、ノートブックの作成、コードの実行などが含まれます。ワークショップは、学習者の進捗を確認し、次に進む前にタスクの完了を強制することもできます。学習者がコードの実行をただ受動的に見るだけのノートブックとは異なり、この拡張機能はアクションがリアルタイムで実行されるため、積極的な参加を保証します。JupyterLab環境全体や外部ツールとの対話を可能にすることで、ノートブックが単一の言語に限定されるという制約を克服します。この分離により、指示内容と完了した作業が混同されるのを防ぎ、より明確な学習パスを提供します。サイドバーパネルは、ナビゲーション、進捗状況の追跡、実行されたアクションの詳細を提供します。実行可能な各ステップはシミュレートされたものではなく、アクションをクリックするとライブターミナルで実行されるか、指定されたタスクが実行されます。この拡張機能は、ターミナル操作、ファイル管理、ノートブックの操作、インターフェースの操作など、さまざまなアクションをサポートします。ワークショップは、特定のポイントで最適な学習のためにユーザーインターフェースを配置するように設計することもできます。チェックポイントを使用すると、学習者は進捗状況を保存し、エラーが発生した場合に既知の状態に戻ることができます。この拡張機能には堅牢な検証システムが含まれており、Pythonコード、シェルコマンド、またはファイルベースの述語によるチェックが可能です。クイズも統合でき、回答は次のステップにフィードされます。マニフェストファイルは、タスク完了が推奨か必須かを決定します。セキュリティは、学習者が実行前にワークショップに特定の機能の許可を与える信頼メカニズムを通じて対処されます。ワークショップ自体は、マニフェストファイル、ページのMarkdownファイル、および必要なスターターファイルを含むディレクトリとして構造化されています。このプレーンテキスト構造は、バージョン管理を容易にします。ページはMyST Markdownで記述され、アクションはフェンスで囲まれたコードブロックで定義されます。この拡張機能はローカルにインストールすることも、mybinder.orgやGitHub Codespacesなどのサービスを介して使用することもでき、ワークショップは複雑なセットアップなしでさまざまな環境で実行できます。著者は、以前のプラットフォームであるEducatesを使用しないことを選択しました。それはKubernetesを必要とし、小規模なチームや個人にとってのアクセシビリティを制限していたためです。