Learning resources

Preliminary setup

Please work through this preliminary setup in preparation for Waterhackweek!

Learning resources

If you are not familiar with some of the software and tools, we recommend that you peruse the materials listed below. This page provides links, videos, articles, and tutorials to help you learn Python programming and other data science tools to get more out of your Waterhackweek experience. We highly reccomend watching the Waterhackweek webinars.

Installing and Getting Started

Topic Description Resources    
Unix Shell The Unix Shell allows you to interface with your computer using the command prompt. You can use the shell to run and download programs and to build data processing pipelines. Software carpentry tutorial
Shell tutorial
Python and Anaconda Setting up Anaconda and Python and installing conda packages manually UW eScience tutorial
Anaconda documetation

Version control and collaboration tools and workflows

Topic Description Resources
Version control Git is a popular version control system that is the foundation of most open source software development. GitHub is a hosting service for Git repositories, enabling us to share code across teams in a web environment. UW eScience tutorial to set up a GitHub account
Waterhackweek webinar on Git/Github and slides
Jupyter Notebooks The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Installing Jupyter notebooks
Hydroshare and Jupyter Notebooks Hydroshare and community data sharing tools and Jupyter Notebooks Waterhackweek webinar - Hydroshare
Waterhackweek webinar - Hydroshare and Jupyter notebooks

Python coding

Topic Description Resources
Python glossary Glossary documenting the basic structure and objects of Python coding. Python glossary
Python basics Tutorials and step-by-step explanations of Python code Intro to Programming with Python I
Intro to Programming and Plotting with Python II
Whirlwind Tour of Python
Python Data Science Handbook
NumPy for Matlab users
Python training Python for earth-science education and research Python Training
Working with tabular data Introduction to Pandas Pandas basics
Timeseries with Pandas
Data access and statistics Data wrangling and statistical analysis with Pandas Statistical analysis with Python
Elements of statistical learinig
Waterhackweek data access and timeseries analysis video and GitHub
Python Visualization Libraries Documentation for various python visualization libraries; example using Bokeh Matplotlib
Waterhackweek cartopy webinar and Github
Workflows for gridded datasets Introduction to working with spatiotemporal datasets Waterhackweek xarray webinar and Github
Machine learning Introduction to machine learning Machine learning with scikit-learn


Topic Description Resources
Landlab modeling framework Introduction to Landlab Waterhackweek Landlab webinar and Github
Tools for building apps Introduction to Tethys Waterhackweek Tethys webinar and Docs