Advanced Day 2: GitHub Classroom講師体験 👨🏫
🎯 今日の目標
GitHub Classroomを使って、プログラミング課題の配布・採点・フィードバックを自動化する方法を学びます。
📚 学習内容
1. GitHub Classroomとは?
GitHub Classroomは、教育現場でGitHubを活用するための無料ツールです。
主な機能
- 📝 課題の一括配布
- 🤖 自動採点機能
- 📊 進捗の可視化
- 💬 個別フィードバック
- 🔒 プライベートリポジトリの提供
メリット
- 講師側: 課題管理の効率化
- 生徒側: 実践的なGit/GitHub体験
- 双方: リアルタイムな進捗確認
2. Organization作成手順
Step 1: GitHub Organizationの作成
- GitHubにログイン
- 右上のプロフィールアイコン → 「Your organizations」
- 「New organization」をクリック
- 「Create a free organization」を選択
Step 2: Organization情報の入力
Organization account name: your-school-2025
Contact email: your-email@example.com
This organization belongs to: A business or institution
💡 命名のコツ: 学校名-年度 の形式がおすすめ
Step 3: メンバーの招待(後でも可)
- 共同講師がいる場合は招待
- Ownerロールを付与して共同管理
3. GitHub Classroomのセットアップ
Step 1: Classroom作成
- classroom.github.comにアクセス
- 「Sign in with GitHub」でログイン
- 「New classroom」をクリック
- 作成したOrganizationを選択
Step 2: Classroom情報の設定
Classroom name: プログラミング基礎2025
Identifier: prog-basic-2025
Step 3: 生徒の招待設定
- Roster(名簿)の作成
- 生徒の本名とGitHubアカウントを紐付け
- CSVでの一括インポート可能
4. 課題テンプレートの作成
基本的な課題構造
assignment-template/
├── README.md # 課題説明
├── src/ # 生徒が編集するファイル
│ └── main.py # スターターコード
├── tests/ # 自動テスト
│ └── test_main.py # テストコード
└── .github/
└── classroom/
└── autograding.json # 自動採点設定
README.mdの例
# 課題1: Hello World関数の実装
## 課題内容
`src/main.py`の`greeting`関数を完成させてください。
## 要件
- 引数`name`を受け取る
- "Hello, {name}!"という文字列を返す
- nameが空の場合は"Hello, World!"を返す
## 提出方法
1. このリポジトリをクローン
2. `src/main.py`を編集
3. コミット&プッシュ
4. 自動テストの結果を確認
## 評価基準
- 基本実装: 60点
- エッジケース対応: 40点