Data Engineering at the University of Florida
This page covers how to request your Google Cloud Education credits and set up a Google Compute Engine (GCE) virtual machine instance for the course.
Each student receives $50 in credits for use during the semester. Please use the resources judiciously. Adding additional credits is difficult. When you sign up for GCP the first time, you may also receive additional credits from Google.
You must use your UF email address (@ufl.edu or @cise.ufl.edu) to request a coupon.
Important details:
After you receive your coupon code by email, go to https://console.cloud.google.com/education. Fill out the required fields and read the terms and conditions. If you agree, click the blue ACCEPT AND CONTINUE button.

You may receive a verification email. Follow the instructions within. You can verify your credits by going to the billing menu (make sure you select the right billing account) as seen in the screenshot below.

You will connect to Google Cloud through a terminal or shell using SSH.
Windows users should set up the Windows Subsystem for Linux. This will allow you to follow the same instructions as macOS and Linux users, since most distributions come with SSH already installed.
Windows users can also look into PuTTY and its documentation.
Check if you already have a public key:
ls ~/.ssh/id_rsa.pub
If the file does not exist, create a key pair by running ssh-keygen.
It is okay to use an empty passphrase, but doing so means your private key is unencrypted. This is often acceptable since it is stored on your local machine only, but is a problem if your laptop is compromised.
Go to https://console.cloud.google.com and sign in. You will land on a dashboard page. Create a new project for the course.
Make sure that the billing account you redeemed your credits on is the one selected for the project. This is the default setting. If you already had projects from a previous course, you will need to swap the billing account to the one you just redeemed credit towards.

You can access a quick terminal by clicking the terminal icon towards the top right corner of the console. Your screen will split in half and you will have a working cloud shell. This is not the virtual machine instance you need for the course. Continue reading for instructions on how to create the virtual machine instance.

Top left hamburger menu > Compute Engine > VM instances.

Use the defaults, but change the following:

The e2-micro (1 GB, 2 shared vCPU) instance will be cheap but not free. You can change to a more expensive instance if you would like, but you must be diligent about turning it off when not in use to preserve your credits.
Set your zone to us-east1-b.
The closest Google Cloud zone to Gainesville, Florida is us-east1, located in Moncks Corner, South Carolina.

Click the CREATE button.



On the same edit page, scroll down to the “SSH keys” section under Security and Access.
Run cat ~/.ssh/id_rsa.pub on your local machine to print your public key. You can also run xclip -sel clip < ~/.ssh/id_rsa.pub to copy it to the clipboard. (The filename of your .pub file may vary.)
Click ADD ITEM and paste the contents into the Enter public SSH key field. Make sure you do not paste any additional newline or whitespace characters.
Scroll down and click SAVE.

There are two ways to connect to your Google Cloud VM.


A pop-up window should appear with a terminal into your VM instance.

ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
PATH_TO_PRIVATE_KEY is likely ~/.ssh/id_rsa. If the file extension is .pub, that is your public key, not your private key.USERNAME is the username specified in your public key. This is not your Google username.EXTERNAL_IP is the IP shown in the INSTANCES list under the “External IP” column.
Update and install necessary packages:
sudo apt update
sudo apt upgrade -y
sudo apt install -y emacs vim htop tmux tree ranger glances
sudo apt install -y gcc gdb make
sudo apt install -y build-essential libffi-dev
sudo apt install -y libsqlite3-dev sqlite3 bzip2 libbz2-dev
sudo apt install -y libssl-dev openssl libgdbm-dev libgdbm-compat-dev
sudo apt install -y liblzma-dev libreadline-dev libncursesw6 libncurses-dev uuid-dev
sudo apt install -y zlib1g-dev
sudo apt install -y ssh
Reboot after installation: sudo reboot now
This course uses uv for Python project management. Install it with:
curl -LsSf https://astral.sh/uv/install.sh | sh
After installation, restart your shell or run source $HOME/.local/bin/env. Verify the installation:
uv --version
You can use uv to manage Python versions directly:
uv python install 3.13
You may want to install Docker for certain assignments:
curl https://get.docker.com/ | bash
sudo groupadd docker
sudo usermod -aG docker $USER
docker --version
systemctl status docker
Reboot after installation: sudo reboot now
To use git on your instance, assign a global username and email:
git config --global user.name "Your Name"
git config --global user.email "YourGithub@Email.com"
To use GitHub version control, you will need a Personal Access Token or configure SSH keys with GitHub. You cannot rely on your password for authentication with remote instances.
For help setting up a VM instance or connecting to it, contact the TA. For help with coupon codes or Google credits, email the professor.