Strategies for Student Contributions
SVA MFA Interaction Design · Winter 2026
Branches · Forks · Direct Collaboration
The instructor controls the entire pipeline from development to deployment:
LOCAL MACHINE
Edit & test code
GIT COMMITS
git add, git commit, git push
GITHUB MAIN
Stable, working code
RASPBERRY PIS
scp deploy tested code
Key points:
main branch — instructor controls stabilityscp for testingInstructor creates branches:
# Create a branch for each student
git checkout -b students/alice
git push -u origin students/alice
git checkout -b students/bob
git push -u origin students/bob
git checkout main # Return to main
Student workflow:
# Clone and switch to their branch
git clone https://github.com/you/smart-objects-cameras.git
cd smart-objects-cameras
git checkout students/alice
# Make changes, commit, push
git add person_detector.py
git commit -m "Add zone detection feature"
git push origin students/alice
Review & merge:
# Review student work
git checkout students/alice
git pull
# If good, merge to main
git checkout main
git merge students/alice
git push origin main
Pros
Cons
Setup:
github.com/alice/smart-objects-camerasStudent workflow:
# Clone their own fork
git clone https://github.com/alice/smart-objects-cameras.git
# Make changes on their fork
git add .
git commit -m "My custom feature"
git push origin main # Pushes to THEIR fork
# Submit Pull Request via GitHub UI
Review & merge:
Keeping fork updated:
# Sync with instructor's repo
git remote add upstream https://github.com/you/smart-objects-cameras.git
git fetch upstream
git merge upstream/main
Pros
Cons
Best for: Quick prototyping, students working directly on Pis, minimal Git usage
Students work on Pi — no Git needed:
# Each student makes their own copy
cd ~/oak-projects
cp person_detector.py person_detector_alice.py
# Edit their personal copy
nano person_detector_alice.py
Instructor pulls work when ready:
# Pull student work from Pi
scp orbit:~/oak-projects/person_detector_alice.py ./students/
# Commit to their branch
git checkout -b students/alice
git add students/person_detector_alice.py
git commit -m "Alice: Zone detection feature"
git push origin students/alice
Pros
Cons
Student Branches RECOMMENDED
Choose when:
Skill level: Basic Git
Fork Model
Choose when:
Skill level: Professional
Direct Collaboration
Choose when:
Skill level: New to Git
Required .gitignore:
# Secrets
.env
*.env
# Generated files
camera_status.json
latest_frame.jpg
*.log
# Python
__pycache__/
*.pyc
venv/
.venv/
# OS
.DS_Store
.env on the Pi, never in the repo.
Introduce Git progressively as students build confidence with the tools:
clone, checkout, commit, push. Work on their own branches. Submit work via push.