$ ./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
- 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 under "Public profile"
- Optional: set up a profile README to showcase your work
Apply for the GitHub Student Developer Pack
While you are a student you can get the GitHub Student Developer Pack for free. It bundles paid developer tools at no cost, including a free domain name, cloud hosting credit, and a long list of services you would otherwise pay for. Apply with your Allegheny email address and a photo of your student ID or your class schedule.
Apply early. Verification is usually quick but can take several days, and the pack is worth having well before you need it for your final project.
One caveat. The pack includes GitHub Copilot Pro. Accepting the pack is fine, but leave Copilot switched off for your coursework. We will set up AI tools together intentionally in Week 13, not before. See the note in the VS Code section below.
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 "your Allegheny email"
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.pub
Add 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 git@github.com
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 install
gatorgrade (the autograder used across labs).
Both are handled automatically, per assignment, the first time you run a uv command inside
that assignment's folder.
Install uv
macOS / Linux (from VS Code's integrated terminal):
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Close and reopen your terminal, then verify:
uv --version
5. Git
Git is the program that records changes to your files and sends your work to GitHub. The account is the website, Git is the tool on your own computer. You need both.
Windows
Download and run the installer at git-scm.com/download/win. Accept the default options throughout, then close and reopen your terminal.
macOS
Run the following in VS Code's integrated terminal, then accept the prompt that appears:
xcode-select --install
This installs Apple's Command Line Tools, not the full Xcode app. They include Git. Some Macs already have them, in which case the command tells you so and there is nothing more to do.
Linux
On Debian or Ubuntu:
sudo apt install git
Confirm it worked
Close and reopen your terminal, then run:
git --version
A version number, such as git version 2.50.1, means Git is ready. If you still see an error
saying the command was not found, bring it to a lab session or to office hours.
Why this one matters. Git is how you receive every activity and lab, and how you hand your work in. Some assignments also rely on it to install the tools they need, so without Git those assignments will not run at all, even once you have the folder on your computer.