4.5 KiB
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
- 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.
- Navigate to Organization Settings → Users
- Click Add users
- Enter participant email addresses (Microsoft accounts)
- Select your workshop project
- Select Access level: Stakeholder (free) or Basic
- Click Add
Step 2: Create the Repository
Create the shared repository: number-challenge
- Sign in to Azure DevOps at dev.azure.com
- Navigate to your Project
- Click Repos in the left navigation
- Click the repo dropdown → New repository
- Fill in details:
- Name:
number-challenge - Add a README: Checked
- Name:
- 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
- In your repository, click + New → File
- Name it
numbers.txt - 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
- Click Commit
Option B: Via command line
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:
- Go to Project Settings → Repositories → number-challenge
- Click Security tab
- Verify project team has Contribute permission
During the Workshop
Getting Started
- Ensure all students have cloned the repository
- Have everyone open
numbers.txtto see the shuffled numbers - Explain the goal: sort numbers 0-20 into correct order
The Exercise Flow
- Students pull the latest changes
- One person moves a number to its correct position
- They commit and push
- Others pull and see the change
- 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:
- Reset
numbers.txtto shuffled state - Or delete and recreate the repository
Tips
- Keep groups small (2 people per repository) 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