01: Introduction - Github and Python#

UW Geospatial Data Analysis
CEE467/CEWA567
David Shean, Eric Gagliano, Quinn Brencher

Please quickly read through this entire document once, then go back and start tackling the various tasks.

Overview#

We are going to “flip the classroom” for the first two weeks. Before class, you will be responsible for reviewing material from external resources–this is your week 1 homework! During our Wednesday and Friday meetings, I will briefly review some of this material and do an interactive demo, we will discuss questions and clarify concepts as a class, and then collaboratively work on our lab assignments to help solidify the concepts. It makes for a busier than average first two weeks, but I think this is the best use of our limited time together. That way, we can start working with geospatial data in earnest starting week 3!

Logistics - Complete before first Wednesday lecture (~30 min)#

Reading and Tutorials - Complete before first Friday lab (~2.5-3 hours)#

I recommend that you break these lessons up into a few sessions, so you have some time to digest what you’re learning (don’t attempt to get through everything an hour before lab starts). Even if you are already an expert on these topics, please take some time to work through the lessons. I guarantee that you will learn something new or will gain a better understanding of something that you’ve seen before (I certainly did).

You’ll want to login to our class jupyterhub so you can access a terminal to work on the following lessons (make sure you attempt some of the relevant examples!).

2. Git and Github (~30 min)#

  • You will need to become comfortable with basic git functionality (clone, status, add, commit, push)

  • If you’ve never worked with git and github, it’s going to be confusing at first. Please do your best to understand the basics. Review and work through these introductory guides (or search the web for other introductory material):

  • Optional: If you’d like to get more practice, review the table of contents for the Software Carpentry Git Novice lessons and decide for yourself which components will be most valuable based on your experience

3. A Whirlwind Tour of Python (~2 hours)#

  • Now that you’ve learned the basics of git, you can use the git clone command to download the Whirlwind Tour of Python tutorial to your jupyterhub

    • Hint: on the jupyterhub, run the following command in the terminal: git clone https://github.com/jakevdp/WhirlwindTourOfPython.git

  • Now you can open and work through the tutorial notebooks! You should complete these sequentially, potentially skipping notebooks 09, 10, 12, 16, and 17 if you’re feeling tired or overwhelmed.

Assignment - Due before class this Friday#

  • Complete the above reading assignments

  • Fill out this feedback form about the reading assignment

Outlook#

You may have gotten the impression that the first two weeks of this class are fast-paced… and you’d be right! But I promise there will be opportunities to continue learning and practicing this material throughout the quarter. If all of this is new to you, don’t worry! You might need to put in some extra time during the first few weeks of class to practice and get up to speed. Our hope is to quickly catch students up on Python so we can spend the majority of the class on geospatial applications. Please don’t be afraid to reach out to Eric or Quinn or post on the #01_github_python slack channel if you’re getting stuck or feeling overwhelmed–we’re here to support. You can do this!!