01: Shell and git/Github#

UW Geospatial Data Analysis
CEE467/CEWA567
David Shean

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. Consider this 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 some problems/exercises to help solidify the concepts (which will inevitably lead to more questions and discussion). I think this is the best use of our limited time together.

Logistics - Complete before first Wednesday lecture#

Reading and Tutorials - Complete before first Friday lab#

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).

Please attempt to work your way through the following lessons (make sure you attempt some of the relevant examples!). No need to do these command line exercises locally–open the jupyterhub, click the blue plus sign in the top left corner, then select terminal. You can try out the commands there!

1. Background#

  • Chapter 1 of Introduction to Earth Data Science Textbook: https://www.earthdatascience.org/courses/intro-to-earth-data-science/open-reproducible-science/ (~30 min)

    • This is a fantastic set of resources prepared by the Earth Lab at CU Boulder. Feel free to explore this textbook and other resources on the site. We will cover many of these concepts throughout the quarter.

    • While the sections on Jupyter contain some great background, several of the sections on local setup and the jupyter notebook interface are irrelevant, as we’re using a shared Jupyterhub environment with everything ready to go (you’re welcome!) and the more powerful/flexible Jupyter lab interface.

2. Unix shell#

3. Git and Github#

If all of this is new, don’t worry, but you will need to put in some extra time during the first few weeks of class to practice and get up to speed. This means actually typing the commands from tutorials and reviewing the output (don’t just skim or selectively copy/paste).

If you’re stuck or confused, please send a message to the #01_shell_git Slack channel, and Eric, Quinn, and/or or others in the class can help you work through issues.

Assignment: Due this Friday#

Outlook#

During week 2, we will review Python, iPython/Juptyer, and continue exploring the shell and git/github. There will be opportunities to continue learning all of this material throughout the course, but I want to reiterate that this is not an intro Python or intro programming class. By week 3, I’m hoping that everyone will be comfortable with the basics, and we can jump into some actual geospatial applications. With that said, I’ve intentionally kept the schedule flexible, so we can adjust as we go along - I need to calibrate after I get a better sense of everyone’s experience level.