Introduction to Foundations
Last updated on 2026-10-17 | Edit this page
Overview
Questions
- What do I need to know before starting the other modules?
- Which tools does this curriculum use, and what is each one for?
- How do Google Colab notebooks work?
Objectives
- Describe what Python, Jupyter notebooks, Google Colab and QGIS are used for
- Open a notebook in Colab, save your own copy and run its cells
- Choose the right tool for a simple geospatial task
- Find your way through the modules of the curriculum
Why a foundations module?
The other modules in this curriculum assume a little background: how to run a Python notebook, what a table and a map layer are, and how to load data into QGIS. This module teaches exactly that, from zero. If you have never written code or opened a GIS, start here. If you already know some Python or QGIS, skim the episodes and use the notebooks as a refresher.
The tools
| Tool | What it is | What we use it for |
|---|---|---|
| Python | A free, general-purpose programming language with excellent libraries for data and maps | Reading, cleaning, analyzing and mapping data in a repeatable way |
| Jupyter notebook | A document that mixes text, code and results | Every Python lesson in the curriculum |
| Google Colab | A free service that runs Jupyter notebooks in your web browser | Running the notebooks without installing anything |
| QGIS | A free, open source desktop GIS | Looking at data, styling layers and making finished maps |
Python and QGIS are not rivals. Many projects use both: Python to download and prepare data, and QGIS to check it visually and design the final map. Both read the same file formats (GeoJSON, GeoPackage, shapefile, GeoTIFF).
Working in Google Colab
Every notebook link in this curriculum opens in Colab. The first time:
- Make sure you are signed in to a Google account.
- Click the notebook link. It opens read-only, straight from GitHub.
- Choose File > Save a copy in Drive. Your copy keeps your changes; the original stays clean.
- Run cells from top to bottom: click a cell and press Shift + Enter.
- If Colab warns that the notebook was not written by Google, click Run anyway.
A few things to know:
-
Order matters. Later cells use variables made in
earlier cells. If you skip a cell, you will see a
NameError. Use Runtime > Run before to catch up. - Sessions end. After a while without activity, Colab disconnects and forgets everything in memory. Reconnect and rerun the cells from the top.
- Files are temporary. Files you create appear in the Files panel on the left and disappear when the session ends. Download anything you want to keep.
- Data comes from the web. All notebooks read their data straight from a web address, so you never need to download data by hand.
Do I need to install Python?
No. Colab runs Python on Google’s computers and already includes the libraries used in this curriculum (pandas, matplotlib, GeoPandas). If you prefer to work on your own computer, the Setup page explains how to install Python with Anaconda.
What this module covers
| Episode | You will learn | Notebooks |
|---|---|---|
| Python Basics | Running cells, variables, text, lists, dictionaries, decisions, loops and functions | 2a to 2f |
| Working with Data | Tables with pandas and charts with matplotlib | 3a and 3b |
| Geospatial Python Basics | Map layers with GeoPandas, coordinate reference systems, and joining data | 4a to 4c |
| Getting Started with QGIS | Loading data from the web, styling layers and making a finished map layout | none (QGIS) |
Where to go next
After this module, the curriculum follows the life of a research dataset:
- Data Management: data models, formats, coordinate systems and planning
- Data Collection: repositories, census data, geocoding, imagery and field data
- Data Analysis: network analysis, spatial autocorrelation, clustering and NDVI
- Data Visualization: charts, map design and accessibility
- Data Curation: metadata, documentation, preservation and sharing
- Case Studies: food deserts and grocery access, from start to finish
Which tool?
Would you reach for Python (in Colab), QGIS, or both?
- Download median income for every county in the United States and calculate a new column
- Design a printed poster map of a city’s parks with a legend and scale bar
- Check whether a layer someone sent you lines up with the roads
- Repeat the same analysis every month when new data is published
- Python. Downloading thousands of rows and calculating columns is quick to code and easy to repeat.
- QGIS. Its print layout is made for finished maps.
- QGIS, for a quick visual check over a basemap (Python could check it too).
- Python. A notebook can be rerun each month with the new data, giving the same steps every time.
- Python (in Jupyter notebooks on Google Colab) is for repeatable data work; QGIS is for looking at data and making maps
- Save your own copy of each notebook, and run cells in order with Shift + Enter
- Colab sessions and files are temporary; data is always read from the web
- This module prepares you for every other module in the curriculum