Programming with Python

The best way to learn how to program is to do something useful, so this introduction to Python is built around a common scientific task: data analysis.

Our real goal isn’t to teach you Python, but to teach you the basic concepts that all good scientific programming depends on. We use Python in our lessons because:

  1. we have to use something for examples;
  2. it’s free, well-documented, and runs almost everywhere;
  3. it has a large (and growing) user base among scientists; and
  4. experience shows that it’s easier for novices to learn than most other languages.

We are using topographic as examples in this set of lessons. > ## Prerequisites {.prereq} > > Learners need to understand the concepts of files and directories > (including the working directory) and how to start a Python > interpreter before tackling this lesson. This lesson references the Jupyter (IPython) > Notebook, although it can be taught through any Python interpreter. > The commands in this lesson pertain to Python 2.7.

Getting ready

You need to have Python 2.7 installed on your computer. For instructions on how to install this software, visit the CSDMS workshop page.

You also need to download some files to follow this lesson:

  1. Download and move it to your Desktop
  2. If it’s not unzipped yet, double-click on it to unzip it. You should end up with a new folder called swc_python.
  3. Access this folder from the Unix shell with:
$ cd && cd Desktop/swc_python/data


  1. Analyzing Topographic Data
  2. Writing stand-alone Python scripts
  3. Storing Multiple Values in Lists
  4. Writing Numerical Models with Python
  5. Creating Functions

Other Resources