This course assumes that you have a basic knowledge of Python. If you want help getting started, or need a refresher, there are numerous materials to help you out. I recommend the following, especially if you are already confident in R, Java, or a similar language.

You may also want some additional practice with the topics in the following tabs.

We’ll use JupyterLab as our platform. It’s free and open source, and is particularly well suited for exploratory analyses where you want to integrate your code, results, and documentation. (If you’ve used a Jupyter Notebook before, JupyterLab is very similar.)

If you aren’t familiar with JupyterLab, watch this introductory video. Make sure to distinguish between code cells, where you run Python commands, and markdown cells, where you provide commentary and documentation.

If you aren’t familiar with basic Python syntax, you should take the Data Carpentry self-paced course listed above. For a refresher, work through the following resources:

Data structures: lists and dictionaries

We’ll make extensive use of two foundational data structures: lists and dictionaries. Make sure you are confident using both.

Loops allow you to iterate through a list – for example, to apply the same operations to a series of text documents, web pages, or tweets. Functions help you create modular code.

pandas is a powerful library for organizing and managing your data. We’ll explore the advanced features of pandas as we go through the course, but you should be familiar with the basics.

Basic GIS knowledge will be very helpful throughout the course, especially for fundamental concepts such as map projections.

xkcd cartoon about map projections