Data Science Workshops (Section P)

WORKSHOP 1: INTRODUCTION, TOOLS AND PYTHON FUN

525 Workshop Notes
Content introduction to workshop tools: Slack (communication), git (source control) and Github (collaborative code), Python (coding) and Jupyter Notebooks (computational narratives), introduction to computation in the geosciences
Expected
Outcomes
• installation of git
• creation of Github account
• creation of Slack account
• successful login to JupyterHub and “hello world” example
• understanding of basic tools for computational geosciences
Readings &
Supplements

OPTIONAL
› 2012. Downey, Allen; Think Python. → read/browse/skim ch.1
› (website) -- --; Slack Guides: Getting Started: https://get.slack.help/hc/en-us/categories/202622877-Slack-Guides. → Familiarize yourself with the Slack platform since we will be using it all summer.
› 2018. Morra, Gabriele; The Future. → This is an interesting paper about where computational tools are likely to go in the Geosciences, including the role Python may play in that future.
› (website) -- 2017; The Periodic Table of Data Science: https://www.datacamp.com/community/blog/data-science-periodic-table. → While broad in scope, this table is well worth becoming familiar with if you are interested it the multitude of data science tools available to use in your work.
› (podcast.__init__: The Podcast About Python and the People Who Make It Great podcast) -- 2017; MetPy: Taming The Weather With Python - Episode 100: https://www.podcastinit.com/episode-100-metpy-with-ryan-may-sean-arms-and-john-leeman/. → This is a wonderful ~50 minute podcast about MetPy, a Python-based meterology package written and maintained right here at UCAR in Unidata.
› (video) -- 2013 Setup: GitHub and Git Foundations: https://www.youtube.com/watch?v=7Inc0G0wutk&list=PL0lo9MOBetEHhfG9vJzVCTiDYcbhAiEqL&index=11. → This is an introduction to setting up git and the basics of GitHub.
› (video) -- 2016 Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough: https://www.youtube.com/watch?v=HW29067qVWk. → This is a nice introductory video to Jupyter Notebooks.
› (video) -- 2013 Webcast: The Basics of Git and GitHub Pt. 1 / July 2013: https://www.youtube.com/watch?v=U8GBXvdmHT4&t=0s&index=3&list=PL0lo9MOBetEGqyl2a4vyApFQi6t8PFCvQ. → This is a nice webcast recording (1 of 2) of more introductory git and GitHub concepts.
› (video) -- 2013 Webcast: The Basics of Git and GitHub Pt. 2 / July 2013: https://www.youtube.com/watch?v=U8GBXvdmHT4&t=0s&index=4&list=PL0lo9MOBetEGqyl2a4vyApFQi6t8PFCvQ. → This is a continuation of the introductory webcast recording (1 of 2) for git and GitHub concepts.
Optional Homework

WORKSHOP 2: PYTHON, JUPYTER AND YOUR SCIENCE WORKFLOW

61 Workshop Notes
Content hands on review of the Jupyter workflow for science; a quick introduction to JupyterLabs; Jupyter plugins of value; GitHub / git integrations; advanced strategies for solving problems with algorithms
Expected
Outcomes
• understand the workflow for Jupyter Notebooks
• develop strategies for more complex problem solving and inquiry with Python and Jupyter
• hands on problem solving in Jupyter building a mini-narrative
Readings &
Supplements
No assigned readings. Please complete readings from previous week if not current.
Optional Homework

WORKSHOP 3: PYTHONIC CODING

68 Workshop Notes
Content hands on introduction to some important Python libraries (some Geo-centric); writing better Python in scientific contexts, and understanding the supporting libraries to do it; hands on coding, plotting and explorations with a datasets
Expected
Outcomes
• understand and apply basic Python libraries for scientific work (graphing, plotting)
• understand and apply Pythonic idioms in coding to save time and effort
• working knowledge of building, documenting, plotting and saving a narrative/inquiry in Python
Readings &
Supplements
No assigned readings. Please complete readings from previous week if not current.
Optional Homework

WORKSHOP 4: DEVELOPING, SHARING AND PUBLISHING COMPUTATIONAL NARRATIVES

615 Workshop Notes
Content hands on introduction developing more advanced research workflows including notebook linking and sharing; publishing works in progress on GitHub (public and private); sharing finished work for informal publication including an introduction to platforms Zenodo and Figshare; developing the habit of data sharing and formal data citing
Expected
Outcomes
• understand and apply advanced research workflows in Jupyter
• develop the habit of storing research inquiries on GitHub both publicly and privately in repositories
• understand platforms for making published and unpublished work formally available on Zenodo, Figshare
• understand the importance of formally citing dataset, notebooks and other important research inputs in the published and unpublished works
Readings &
Supplements
No assigned readings. Please complete readings from previous week if not current.
Optional Homework

RESOURCES

  1. 2012. Downey, Allen; Think Python.
  2. (website) -- --; Slack Guides: Getting Started: https://get.slack.help/hc/en-us/categories/202622877-Slack-Guides.
  3. 2016. Morra, G and Yuen, DA and Lee, SM; [A Pythonic Approach for Computational Geosciences and Geo-Data Processing]().
  4. 2018. Morra, Gabriele; The Future.
  5. (website) -- 2017; The Periodic Table of Data Science: https://www.datacamp.com/community/blog/data-science-periodic-table.
  6. (podcast.__init__: The Podcast About Python and the People Who Make It Great podcast) -- 2017; MetPy: Taming The Weather With Python - Episode 100: https://www.podcastinit.com/episode-100-metpy-with-ryan-may-sean-arms-and-john-leeman/.
  7. (video) -- 2013 Setup: GitHub and Git Foundations: https://www.youtube.com/watch?v=7Inc0G0wutk&list=PL0lo9MOBetEHhfG9vJzVCTiDYcbhAiEqL&index=11.
  8. (video) -- 2016 Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough: https://www.youtube.com/watch?v=HW29067qVWk.
  9. (video) -- 2013 Webcast: The Basics of Git and GitHub Pt. 1 / July 2013: https://www.youtube.com/watch?v=U8GBXvdmHT4&t=0s&index=3&list=PL0lo9MOBetEGqyl2a4vyApFQi6t8PFCvQ.
  10. (video) -- 2013 Webcast: The Basics of Git and GitHub Pt. 2 / July 2013: https://www.youtube.com/watch?v=U8GBXvdmHT4&t=0s&index=4&list=PL0lo9MOBetEGqyl2a4vyApFQi6t8PFCvQ.