了解です。では セミナー用 assignment リポジトリ を使った場合の、講師と参加者の観点での 具体的な設定・ファイル取得・提出・採点の手順 をステップごとに整理します。GitHub Classroom を想定しています。
1. 講師側の準備
1-1. リポジトリ作成
-
GitHub 上で
ml-basics-assignmentのようなリポジトリを作成 -
ブランチ:
-
main:課題 (exercises/)、参考資料 (references/)、データ (data/) -
solutions:解答例(非公開ブランチ)
-
1-2. ディレクトリ・ファイル構成
ml-basics-assignment/
├── README.md # 課題進行手順、提出方法を記載
├── exercises/
│ ├── 01-introduction/exercise.md
│ └── 02-advanced-topic/exercise.md
├── references/
│ ├── 01-introduction.md
│ └── 02-advanced-topic.md
├── solutions/ # 講師用、非公開
├── data/ # CSV, JSON, 画像など
└── notebooks/ # 演習サンプルNotebook
1-3. GitHub Classroom 設定(任意)
-
Classroom で「assignment」を作成
-
参加者ごとに個人リポジトリを自動生成
-
mainブランチに課題と資料を配置
2. 参加者の作業手順
2-1. リポジトリの取得
# GitHub Classroom のリンクから clone
git clone https://github.com/username/ml-basics-assignment.git
cd ml-basics-assignment
2-2. 課題確認
cd exercises/01-introduction
cat exercise.md
-
必要に応じて
references/やdata/を参照
2-3. 課題の解答作成
-
Markdown, Python, Jupyter Notebook などで解答を作成
-
Notebook の場合:
jupyter notebook ../../notebooks/example.ipynb
2-4. ファイルのステージングとコミット
git add .
git commit -m "01-introduction 解答"
2-5. 提出
git push origin main
-
GitHub Classroom では自動的に提出完了扱いになる
-
手動の場合は push で講師が確認可能
3. 講師による採点
3-1. 個人リポジトリ確認
-
GitHub Classroom の画面、または個人リポジトリの
mainを確認
3-2. 採点方法
-
コードや解答のレビュー
-
コメント・プルリクエストでフィードバック
-
自動採点ツール(pytest, nbgrader など)を使う場合は
exercises/にテストを追加
3-3. 模範解答の公開
# solutions ブランチを main にマージ or Releaseとして提供
git checkout main
git merge solutions
git push origin main
4. 注意ポイント
-
課題と解答は別ブランチで管理 → 先に見られないようにする
-
番号付きディレクトリ → 演習順序を明確化
-
README.md に手順を詳細に書く → Git 初心者でも迷わない
-
データやNotebookは課題と対応 → 演習がスムーズ
? こうすることで、講師は課題管理・採点・解答公開がスムーズにでき、参加者も ファイル取得・解答・提出がシンプル になります。
方法2:Organization と命名規則を使う
授業用に GitHub Organization を作り、学生をメンバーとして招待します。
手順:
-
organization-name/assignment1-templateを作成 -
学生がそのテンプレートから
organization-name/assignment1-usernameのように自分の repo を作成 -
教員は organization 内で全学生の提出を一覧可能
✅ メリット:
-
すべての提出物が 1 つの organization にまとまる
-
アクセス権限を統一的に管理できる