$ ./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 and bio under "Public profile" (full name, a short bio like "Computer Science student at Allegheny College")
  3. Add your location (e.g. "Meadville, PA") and a preferred contact email
  4. 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

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.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 [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 | sh

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Close and reopen your terminal, then verify:

uv --version

You 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 gatorgrade

gatorgrade results are always preliminary. See the Grading section of the syllabus.