Preparation 1 - Git-ing Started

All of your work for STA 418/518 will be completed using GitHub. This activity will walk you through practicing some of the GitHub steps to get more comfortable with this workflow.

Remember that you watched a video from Daniel Shiffman to prepare you for our first class meeting. For completeness, this video is provided here if you would like to rewatch it (13:43 minutes).

Introduction to Git and GitHub

Estimated Time

  • 🎞 Three Videos: 45 minutes
  • ☑️ Four Tasks: 20-30 minutes

More Git and GitHub

☑️ Task 1: Introduction

First, you will need to create your own new repo (not forking my repo like we did during class). You can follow GitHub’s recommneded steps (stopping once you reach the “Commit your first change” section). In step 2, name your repository preparation01. In step 4, you can choose to make your repository private if you would prefer - you will be doing some reflective writing. If you choose to make your repo private, you will need to grant me (@dykesb) access to your private repository.

In your new repository, create a new markdown file called kohn-reflection.md. In the video you watched for our first class session (that is also provided above), Daniel created a raw text file (.txt). However, here I am asking you to instead create a markdown file (.md). In this newly created markdown file, write a reflection (around a full page, approximately 500 words, with multiple paragraphs) after reading Alfie’s article. This should be a reflection, not simply reporting what Alfie’s article says. Some prompts that you may find useful are provided below, but feel free to make this reflection your own!

  1. Describe a class where you felt your final grade in a course did not match with what you learned throughout the semester (this could be where your grade was “too low” or “too high”).
  2. What do you think grades represent? What is your experience with grades?
  3. If grades were removed from courses, what would you use for motivation? What value would learning have for you without grades?
  4. Describe a time where you took the “easy way out” for an assignment. Why did you choose to go this route?

This repository also contains a README.md file. Edit this by providing a brief description of what your preparation01 repo contains to help future you remember.

Changes in GitHub

In the video, you may have noticed that Daniel keeps referring to the “master branch.” While Git’s “master” branch naming convention was likely from the “master copy” or “master recording” use of the word, there also a history of “master/slave” that has been used in many technology applications. The language that we use matters. The term “master” has an oppressive association, and there are better, more inclusive words that we can use. Beginning October 2020, GitHub began using “main” instead of “master” for all newly-created repositories. I have gotten better at referring to it as the “main” branch, but I might slip-up.

I am aware that renaming GitHub branches is not going to magically solve the larger issue of structural racism/discrimination in the world. I encourage you to think of ways that you can work to dismantle racism. One idea would be to become involved in organizations that support racial justice. Some amazing organizations/communities are Data For Black Lives, MiR Community, and RLadies.

Branches and Pull Requests

These next two videos are meant to provide you with insight into/an awareness of what else you can do in GitHub. I expect these steps will be new, different, and confusing to most of you. That is OK! We will get continue to practice these steps throughout the semester. A good place to start in watching these videos to indentify the new terms and relate them to another process that you are more familar with (e.g., Google Drive).

🎞 Video 1: Branches (11:54 minutes)

Branches

Be aware that the network plot Daniel shows during this video is now located at 💹 Insights > Network (on the left-hand toolbar).

At the end of this video, learners will be able to:

  • Create a new branch in a GitHub repository,
  • Switch between branches in GitHub,
  • Edit and commit changes to a separate branches in GitHub, and
  • Merge branches with a pull request.

☑️ Task 2: Make a branch and pull request

Create a new branch of your preparation01 repository. Name this branch after your favorite color (or simply the first color you think of).

In this new branch, add to your README.md by finding a link to a gif that speaks to your current feeling(s) and include this as an image (Remember how to do this in markdown?).

Create a Pull Request to your main branch from your new branch.

You are done working in your preparation01 repository. The next two videos are to demonstrate some typically used processes in GitHub when collaborating with others. For the beginning portion of this semester, we will focus on doing work alone in GitHub (or collaborating with ourselves - i.e., using GitHub as an online code storage system). However, you may want to collaborate with a peer on your project so we will start to sprinkle these ideas in later.

Forks and Pull Requests

🎞 Video 2: Forks and Pull Request (12:22 minutes)

Forks and Pull Requests

At the end of this video, learners will be able to:

  • Describe what forking is in Git/GitHub.
  • Describe what a pull request is.

Issues

🎞 Video 3: Issues and Markdown (11:31 minutes)

Issues

At the end of this video, learners will be able to:

  • Describe what an Issue is in GitHub.
  • Respond to an Issue in GitHub.

☑️ Tasks 3: Respond to a different kind of issue

In our Teams workspace, find the SS2022 STA 418-518 S01 channel. In this channel, there should be a post called “Day 2 Muddiness” that I created.

This post currently includes my planned agenda for our second class session. From the syllabus you saw that I want to encourage you seek help in visible ways and the Teams workspace is one way to do this!

In this post, provide details for what was the muddiest thing from this Preparation. If someone else already mentioned what you thought was muddy, give them a “+ 1” 👍.

You will continue to do this for each Preparation. This is one way to ask me to discuss things at the beginning of a class session (and with enough heads up, I can provide a better discussion). If, as your working on non-Preparation material, you experience some “muddiness”, create a post in the class channel or create a new themed channel. You can always ask questions live during our class sessions.

Optional

  • Personalize your GitHub profile with a picture, name, etc. We will find a hidden GitHub feature next week for how we can make our GitHub profiles more informative.
  • Register for the (free!) Student Developer Pack with GitHub

Attribution

Parts of this activity are based on materials from the Stat 431 course by Kelly Bodwin and Hunter Glanz.