Find us on GitHub

Data Carpentry Workshop for Caltech Graduate Students


April 26-27, 2017

9:00 am - 5:00 pm

Instructors: Gail Clement, Tom Morrell

Helpers: Donna Wrublewski, Stephen Davison

General Information

Data Carpentry workshops are for any researcher who has data they want to analyze, and no prior computational experience is required. This hands-on workshop teaches basic concepts, skills and tools for working more effectively with data.

We will cover Data organization in spreadsheets and OpenRefine, Command line and version control, Data analysis and visualization in Python and Data manipulation and loops in Python. Participants should bring their laptops and plan to participate actively. By the end of the workshop learners should be able to more effectively manage and analyze data and be able to apply the tools and approaches directly to their ongoing research.

Who: The course is for Caltech graduate students.

Where: Millikan 9th Floor. Get directions with OpenStreetMap or Google Maps.

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). They are also required to abide by Data Carpentry's Code of Conduct.

Contact: Please mail for more information.


Register by completing the forms at the following links:

A registration deposit of $20 is required for each day. Each registration deposit will be completely refunded upon successful check-in. Registration will also be refundable via cancellation before April 21, 2017 by 5 PM PST.

The $20 deposit for each day must be paid to GSC using the following links within 72 hours of registration to hold your reservation.

Preliminary Schedule


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

Pre-workshop Survey

Post-workshop Survey

Day 1

Morning Data organization in spreadsheets and OpenRefine
Afternoon Command line and version control

Day 2

Morning Data analysis and visualization in Python
Afternoon Data manipulation and loops in Python

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


Data organization

  • Introduction
  • Formatting data
  • Common formatting problems
  • Dates as data
  • Quality control
  • Exporting data
  • Data Format Caveats
  • Reference...


  • Getting started
  • Facets, clustering and splitting
  • Filtering, excluding and sorting
  • Examining numerical data
  • Scripts
  • Saving and Exporting Projects and Files
  • Reference...

The Unix Shell

  • Files and directories
  • History and tab completion
  • Pipes and redirection
  • Looping over files
  • Creating and running shell scripts
  • Reference...

Version Control with Git

  • Creating a repository
  • Recording changes to files: add, commit, ...
  • Viewing changes: status, diff, ...
  • Ignoring files
  • Working on the web: clone, pull, push, ...
  • Resolving conflicts
  • Where to host work, and why
  • Reference...

Programming in Python

  • Using libraries
  • Working with arrays
  • Reading and plotting data
  • Creating and using functions
  • Loops and conditionals
  • Reference...


To participate in a Data Carpentry workshop, you will need working copies of the described software. Please make sure to install everything (or at least to download the installers) before the start of your workshop. Participants should bring and use their own laptops to insure the proper setup of tools for an efficient workflow once you leave the workshop.

Please follow these Setup Instructions.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.