$ ./setup.sh
Setup Guide
Get Discord, GitHub, VS Code, and uv set up before Week 1 lab. Originally prepared by Allegheny's ACM student chapter.
1. Discord Setup
Download and create an account
- Download Discord: discord.com
- Create your account for free: personal or school email both work (you will lose Allegheny email access after graduation, so consider a personal one)
- Make sure your display name is your full name
Join Discord servers
CIS Department Discord: discord.gg/zHGB6uNq4w, primary course communication channel.
ACM Discord Server (optional): discord.gg/4gm2jumuEd, event notifications; attend 3 ACM events and you are eligible for membership.
2. GitHub Setup
Create your free account
Sign up at github.com/signup. Essential for accessing class repositories, submitting your work, and version control.
Set up your profile
- Add a profile picture: click your avatar → Settings → upload a clear photo
- Add your name and bio under "Public profile" (full name, a short bio like "Computer Science student at Allegheny College")
- Add your location (e.g. "Meadville, PA") and a preferred contact email
- Optional: set up a profile README to showcase your work
3. VS Code Setup
Download VS Code
All platforms: code.visualstudio.com/download. New to VS Code? The official VS Code team tutorial is a good beginner-friendly starting point.
Leave Copilot/AI features off for now. If the installer or VS Code's first-launch screen offers to enable GitHub Copilot, an AI agent, or asks you to sign in for AI features, skip it. Do not check that box. We will set this up together intentionally in Week 13, not before.
Open the integrated terminal
- Windows/Linux:
Ctrl + ` - macOS:
control + ` - Menu: View → Terminal
You will use this integrated terminal for all command-line work in this course.
Set up your SSH keys
SSH keys give you secure authentication for Git. Run these from VS Code's integrated terminal.
Generate the key pair:
ssh-keygen -t rsa -b 4096 -C "[email protected]"Press Enter to accept the default file location. Enter a passphrase when prompted (you will need it each time you push to GitHub), or press Enter twice for no passphrase.
Copy your public key:
cat ~/.ssh/id_rsa.pubAdd it to GitHub: Settings → SSH and GPG keys → New SSH key → paste it in, give it a descriptive title (e.g. "Personal laptop").
Test the connection:
ssh -T [email protected]You should see a message like "You have successfully authenticated..."
4. Python & uv
Every lab this term is a uv project. uv is the one tool you need to install yourself. It manages Python versions, project dependencies, and running your code, all from each assignment's pyproject.toml. You do not need to separately install Python, and you do not need to separately installgatorgrade (the autograder used across labs); both are handled automatically per-assignment, explained below.
Install uv
macOS / Linux (from VS Code's integrated terminal):
curl -LsSf https://astral.sh/uv/install.sh | shWindows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Close and reopen your terminal, then verify:
uv --versionYou do not need to install Python separately
Each assignment's pyproject.toml declares the Python version it needs (this term, that isPython 3.12). The first time you run a uv command inside an assignment folder (uv sync or uv run <something>), uv downloads and manages the right Python version for you automatically, isolated per project. If you already have a system Python that satisfies the requirement, uv will use that instead; either way, there is nothing for you to configure.
You do not need to install gatorgrade separately
gatorgrade is listed as a dependency in every assignment's pyproject.toml, so it is installed automatically, scoped to that assignment, the first time you run a uv command there. To grade your work on a lab, from inside that lab's folder:
uv run gatorgradegatorgrade results are always preliminary. See the Grading section of the syllabus.