Skip to article frontmatterSkip to article content

Getting and Using Class Materials

Class Materials

The class materials for the course will be provide in three locations:

  1. Main GitHub repo for the class located here: DS 3021 Foundations of ML
  2. A supplimental interactive textbook is also being developed that will host videos and additional background material for the class. In fact that’s where you are right now, ha! It’s still under construction but should be completed during the semester.
  3. Canvas website for the course.

At the start of class everyone will fork the course repo to your GitHub page, you will then clone the repo via VS Code to a local directory that we will use throughout the class. Below is a explation of how to do that in VS Code + GitHub.

VS Code + GitHub

In this section I’m going to walk you through how to clone the course repo through VS Code and get the Development Environment that we will be using for the class up and running. I’ve created some videos but I also wanted to include a lot of reference materials here as well.

We are essentially using three technologies to make this work: VS Code, Dev Containers (Docker) and GitHub.

The nice part is I’ve actually already created the dev container in the repo we will be using for the class. So once you have Docker installed locally on your computer and the dev container extensions inside VS Code the development environment should build automagically and you’ll be up and running right away.

We will work to make sure everyone is good to go the first week of class so no worries.

Quick Videos

Loading...
Loading...

Keeping your Forked and Cloned Repos Up-To-Date

Throughout the class I will be adding and changing files. So you’ll need to be syncing your fork and pulling down the new files to you cloned repo weekly. Github makes this fairly easy with a sync button on the right side of your forked repo. These changes will then need to be pulled down to your local clone. Here is a overview of methods to do this from GitHub: including using the UI, the terminal and GitHub Client. Also below is a video overview of the process that includes how to handle commits you’ve already made to a forked repo that is out of date.

Loading...

Helpful Git/GitHub Commands

Because I will be updating the repo that you clone and downloaded to your new Dev Container for the course you will add new content to your repo that won’t be in mine or may change code files with the same name as the once I originally create. For example, so you added comments to this file for your own personal notes. Which is totally fine and probably even a smart thing to do. However, that would me that this file is different from the original, so when you went to pull the new content for the week there would be a merge error. The commands below can address this issue, in order.

  • git stash - Use this to save the uncommitted changes you’ve made locally for later. This command saves your local modifications away and reverts the working directory to match the HEAD commit so that it will give you a clean working directory.
  • git pull - Now you should be able to pull the new files into your directory.
  • git stash pop - When you are ready run this command and it will apply your changes and you’ll have the new files.
  • Here’s a link that provides more details Stash and Stash Pop