$ ./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

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

  1. Add a profile picture: click your avatar → Settings → upload a clear photo
  2. Add your name under "Public profile"
  3. 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

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.