Resources#
There are tons of resources available online that will help you in learning statistical methods. Here are a few that have come to my attention that may be particularly useful.
Note that this will be amended / added to as the semester goes on. And if you have something you find valuable that isn’t on here, please share it!
Recommended (and free!) textbook#
Python Recipes for Earth Sciences by Martin H. Trauth. PDF version is free.
Optional, supplemental materials#
Textbooks and lecture notes#
Videos#
Online courses#
Computing#
This course is heavily computational. The language used is Python, and most graded work is submitted as executable Jupyter notebooks.
Python basics#
Official Python (“docs”): https://www.python.org/doc/
Official Python beginner’s guide: https://wiki.python.org/moin/BeginnersGuide
Jupyter#
Jupyter homepage: https://jupyter.org/
Anaconda distributions of Python#
Anaconda/conda distributions of python are the strongly recommended way to use python.
Official website: https://www.anaconda.com/
For those on Windows and for anybody new to Python, I recommend installing the Anaconda distribution on whatever computer you’ll be using for this. This installation includes the Anaconda Navigator GUI.
For those on MacOS or Linux with more programming experience, I recommend installing the lightweight “miniconda” distribution instead and learning to work with it from the command line: https://docs.conda.io/projects/miniconda/en/latest/
Managing python environments and packages#
Benefits of using Python environments rather than a single installation:#
Precise control for each class/project/etc. on exactly what packages you want installed. (Suppose one project you’re working on uses some old legacy code that requires Python 2, whereas at this point everything else runs Python 3.)
Via conda/anaconda, automated installation of required non-python dependencies as well
On shared computing clusters where you don’t have “root” access, ability to install packages and run things (like Jupyter!) in your home directory rather than having to go through the sysadmin
Ability to experiment with updated versions of things without worrying about breaking your stuff. For example, latest Python version, 3.12, just came out. Some packages might not have support for it yet, but you can create a dedicated “python312” environment to try it out without worrying about breaking your other stuff
Conda environments underlie modern cloud-based data science and scientific computation…Binder, cloud service providers, all of these rely on conda environments
Online resources#
Managing environments using Anaconda Navigator: https://docs.anaconda.com/free/navigator/tutorials/manage-environments/
Managing environments using
conda
: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#create-env-file-manuallyConda cheatsheet PDF
mamba
drop-in replacement forconda
(does everything much faster and has additional nice features): https://mamba.readthedocs.io/en/latest/index.html
Artificial intelligence tools#
Warning
As with any tool that is at all outside of your own brain, you must obey any and all rules regarding the use (or prohibition) of AI tools in your coursework, both for this course and any others. See the syllabus for more on this, as well as the equally important concern regarding these tools being used to benefit your learning vs. a crutch that actually impedes it.
Git and Github#
“Learn git in 15 minutes” YouTube video and accompanying notes
“Learn Github in 20 minutes” YouTube video and accompanying notes
The Github repository for this course website
Git cheat sheet created by GitHub Education