Come to learn data wrangling with Python - and stay on for the Tucson Rodeo Week 2020!

University of Arizona

Feb 15-16, 2020

8:30 am - 5:00 pm

Instructors: Drake Asberry, Nathalia Graf Gachet, Uwe Hilgert

Helpers: Matthew Miller, Travis Struck

Apply for the workshop at

General Information

Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: t.b.a.. Get directions with OpenStreetMap or Google Maps.

When: Feb 15-16, 2020. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Code of Conduct: Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:

If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Contact: Please email for more information.

Information about the Tucson Rodeo Week 2020


Please be sure to complete these surveys before and after the workshop.

Pre-workshop Survey

Post-workshop Survey


Saturday February 22

08:30 Access and navigate the command line / Bash Shell
10:30 Break
10:45 Manage data with git/GitHub
12:00 Break
13:00 Automate tasks with shell scripts
14:45 Break
15:00 Automate tasks with shell scripts, cont.
17:00 End of Day

Sunday February 23

08:30 Analyze scientific data with Python and git/GitHub
10:30 Break
11:00 Analyze scientific data with Python and git/GitHub, cont.
12:00 Break
13:00 Analyze scientific data with Python and git/GitHub, cont.
14:45 Break
15:00 Analyze scientific data with Python and git/GitHub, cont.
17:00 End of Day

Schedule subject to change if necessary.

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.

Syllabus & Learning Objectives

Take control with the Bash Shell (Command Line/Shell/Unix)

  • Work in vs. work below the GUI
  • Navigate the shell
  • Find, create, copy, move and delete folders and files
  • Shell over GUI: Command history and tab completion
  • Connect commands into workflows: pipes and redirection
  • Automate repetitive tasks: loops
  • Save and run workflows in scripts

Collaborate with git/GitHub

  • Access a repository and pull files
  • Create a repository
  • Record changes: add, commit, ...
  • View changes: status, diff, ...
  • Ignore files
  • Work on the web: clone, pull, push, ...
  • Resolve conflicts

Analyse scientific data with Python

  • Use libraries
  • Work with arrays
  • Read and plot data
  • Create and use functions
  • Use loops and conditionals
  • Use Python from the command line
  • Defensive programming

Syllabus subject to change if necessary.


To participate in the workshop, you will need an up-to-date web browser and specific software. Please check back here on Feb 1st, 2020 for up-to-date set up instructions.