refactor: move 08 down a step
This commit is contained in:
254
01-essentials/08-multiplayer/01_FACILITATOR.md
Normal file
254
01-essentials/08-multiplayer/01_FACILITATOR.md
Normal file
@@ -0,0 +1,254 @@
|
||||
# Facilitator Setup Guide
|
||||
|
||||
This guide helps workshop facilitators set up the cloud-based multiplayer Git module using Azure DevOps.
|
||||
|
||||
## Overview
|
||||
|
||||
The Number Challenge is a collaborative Git exercise where students work together on a shared repository hosted on **Azure DevOps**.
|
||||
|
||||
**What participants will do:**
|
||||
- Clone a real repository from Azure DevOps
|
||||
- Collaborate to sort numbers 0-20 into the correct order
|
||||
- Experience push/pull workflow and merge conflicts
|
||||
- Learn to communicate and coordinate with teammates
|
||||
- Use SSH keys for secure authentication
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Azure DevOps Setup
|
||||
|
||||
You need:
|
||||
- **Azure DevOps Organization** - Free tier is sufficient
|
||||
- Sign up at [dev.azure.com](https://dev.azure.com)
|
||||
- **Project created** within your organization
|
||||
- **Admin access** to create repositories and manage users
|
||||
|
||||
### Workshop Materials
|
||||
|
||||
Participants need:
|
||||
- Git installed (version 2.23+)
|
||||
- VS Code (or any text editor)
|
||||
- SSH keys configured
|
||||
|
||||
---
|
||||
|
||||
## Pre-Workshop Setup
|
||||
|
||||
### Step 1: Add User Accounts
|
||||
|
||||
Add workshop participants to your Azure DevOps organization.
|
||||
|
||||
1. Navigate to **Organization Settings** → **Users**
|
||||
2. Click **Add users**
|
||||
3. Enter participant email addresses (Microsoft accounts)
|
||||
4. Select your workshop project
|
||||
5. Select **Access level**: Stakeholder (free) or Basic
|
||||
6. Click **Add**
|
||||
|
||||
### Step 2: Create the Repository
|
||||
|
||||
Create the shared repository: **number-challenge**
|
||||
|
||||
1. Sign in to Azure DevOps at [dev.azure.com](https://dev.azure.com)
|
||||
2. Navigate to your **Project**
|
||||
3. Click **Repos** in the left navigation
|
||||
4. Click the repo dropdown → **New repository**
|
||||
5. Fill in details:
|
||||
- **Name:** `number-challenge`
|
||||
- **Add a README:** Checked
|
||||
6. Click **Create**
|
||||
|
||||
### Step 3: Add the Starter File
|
||||
|
||||
Create `numbers.txt` with numbers 0-20 in random order.
|
||||
|
||||
**Option A: Via Azure DevOps web UI**
|
||||
|
||||
1. In your repository, click **+ New** → **File**
|
||||
2. Name it `numbers.txt`
|
||||
3. Add this content (numbers 0-20 shuffled):
|
||||
|
||||
```
|
||||
17
|
||||
3
|
||||
12
|
||||
8
|
||||
19
|
||||
1
|
||||
14
|
||||
6
|
||||
11
|
||||
0
|
||||
20
|
||||
9
|
||||
4
|
||||
16
|
||||
2
|
||||
18
|
||||
7
|
||||
13
|
||||
5
|
||||
15
|
||||
10
|
||||
```
|
||||
|
||||
4. Click **Commit**
|
||||
|
||||
**Option B: Via command line**
|
||||
|
||||
```powershell
|
||||
git clone git@ssh.dev.azure.com:v3/{organization}/{project}/number-challenge
|
||||
cd number-challenge
|
||||
|
||||
# Create numbers.txt with shuffled numbers
|
||||
@"
|
||||
17
|
||||
3
|
||||
12
|
||||
8
|
||||
19
|
||||
1
|
||||
14
|
||||
6
|
||||
11
|
||||
0
|
||||
20
|
||||
9
|
||||
4
|
||||
16
|
||||
2
|
||||
18
|
||||
7
|
||||
13
|
||||
5
|
||||
15
|
||||
10
|
||||
"@ | Out-File -FilePath numbers.txt -Encoding UTF8
|
||||
|
||||
git add numbers.txt
|
||||
git commit -m "feat: add shuffled numbers for challenge"
|
||||
git push
|
||||
```
|
||||
|
||||
### Step 4: Verify Student Access
|
||||
|
||||
Students added to the project automatically have access. Verify:
|
||||
|
||||
1. Go to **Project Settings** → **Repositories** → **number-challenge**
|
||||
2. Click **Security** tab
|
||||
3. Verify project team has **Contribute** permission
|
||||
|
||||
---
|
||||
|
||||
## During the Workshop
|
||||
|
||||
### Getting Started
|
||||
|
||||
1. Ensure all students have cloned the repository
|
||||
2. Have everyone open `numbers.txt` to see the shuffled numbers
|
||||
3. Explain the goal: sort numbers 0-20 into correct order
|
||||
|
||||
### The Exercise Flow
|
||||
|
||||
1. **Students pull** the latest changes
|
||||
2. **One person** moves a number to its correct position
|
||||
3. **They commit and push**
|
||||
4. **Others pull** and see the change
|
||||
5. **Repeat** until sorted
|
||||
|
||||
### Creating Conflicts (The Learning Moment)
|
||||
|
||||
Conflicts happen naturally when multiple people edit at once. You can encourage this:
|
||||
|
||||
- Have two students deliberately edit at the same time
|
||||
- Watch them experience the push rejection
|
||||
- Guide them through pulling and resolving the conflict
|
||||
|
||||
### Monitoring Progress
|
||||
|
||||
Check progress in Azure DevOps:
|
||||
|
||||
- **Repos → Commits**: See who's contributing
|
||||
- **Repos → Files → numbers.txt**: See current state
|
||||
|
||||
### Common Issues
|
||||
|
||||
**"I can't push!"**
|
||||
- Did they pull first? Run `git pull`
|
||||
- Is SSH set up? Check with `ssh -T git@ssh.dev.azure.com`
|
||||
|
||||
**"Merge conflict!"**
|
||||
- Walk them through removing conflict markers
|
||||
- Help them understand both sides of the conflict
|
||||
|
||||
**"Numbers are duplicated/missing!"**
|
||||
- Someone resolved a conflict incorrectly
|
||||
- Have the team review and fix together
|
||||
|
||||
---
|
||||
|
||||
## Success
|
||||
|
||||
When complete, `numbers.txt` should contain:
|
||||
|
||||
```
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
```
|
||||
|
||||
Celebrate the team's success!
|
||||
|
||||
---
|
||||
|
||||
## Post-Workshop Cleanup
|
||||
|
||||
To reuse the repository:
|
||||
|
||||
1. Reset `numbers.txt` to shuffled state
|
||||
2. Or delete and recreate the repository
|
||||
|
||||
---
|
||||
|
||||
## Tips
|
||||
|
||||
- **Keep groups small** (4-8 people) for more interaction
|
||||
- **Encourage communication** - the exercise works best when people talk
|
||||
- **Let conflicts happen** - they're the best learning opportunity
|
||||
- **Walk the room** - help students who get stuck
|
||||
- **Point students to 03_TASKS.md** - Simple explanations of clone, push, pull, and fetch for beginners
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### SSH Issues
|
||||
- Verify SSH key added to Azure DevOps (User Settings → SSH Public Keys)
|
||||
- Test: `ssh -T git@ssh.dev.azure.com`
|
||||
|
||||
### Permission Issues
|
||||
- Check user is added to project
|
||||
- Verify Contribute permission on repository
|
||||
|
||||
### Service Issues
|
||||
- Check status: https://status.dev.azure.com
|
||||
Reference in New Issue
Block a user