Software Carpentry Bootcamp: Helping scientists build better software

This event is an excellent opportunity for researchers who are interested in learning about how to integrate technology into their research practice. Arranged as a set of tutorials and hands-on sessions, Software Carpentry Boot Camps provide proven tools to assist researchers in their day-to-day work.

Who should attend?

Any current researcher who is interested in making use of technology to boost their research practice. Participants will learn how to automate, speed up their research, while making it more reproducible and resilient to data loss.

Active researchers from all fields are welcome to attend. In particular, scientists will heavily benefit.


Email Unlike the other workshops for eResearch NZ 2013, the boot camp is limited entry. Therefore, separate registration is required. Please also see the Installation Instructions, below.

Entry Requirements

Participants should be:

  1. active researchers, who
  2. are interested in attending every session, and
  3. are able to bring their own laptop with adequate permissions to install their own software


Monday, 1 July

1-5pm, Undercroft Room. Optional. Highly recommended for beginners.

  • An introduction to the Unix shell, part 1
    Learn about "the shell". While perhaps daunting, it is extremely powerful and as you will learn - quite handy.

Tuesday, 2 July

1-5pm, Undercroft Room

  • An introduction to the Unix shell, part 2
  • Software version control
    Learners will be introduced to the main way that software developers work on projects together without clobbering each other. Version control enables all project members to be able to work on a copy of the project's materials with the confidence of being able to merge changes made. An added bonus is that your project's materials are now far more resilient to data loss. Version contol has been applied very successfully to other forms of text content recently, including collaborative book publishing in advanced mathematics.

Wednesday, 3 July

1-5pm, Undercroft Room

  • An introduction to Python
    Python is a programming language that is simple, flexible and has very wide adoption. It has been applied to many thousands of scientific projects, including here in New Zealand, and is therefore a good place to start for people interested in adding a programming language to their workflow.
  • Scientific computing with Python
    Learn about some of the bonus features to the language that have been created by the worldwide scientific Python community.

Thursday, 4 July

1-5pm, Undercroft Room

  • Software testing
    Software is notorious for errors, or bugs. Learn about some of the techniques for minimising their occurance as software projects develop.
  • A reproducible science workflow
    One of the biggest advantages that programming, version control and testing offer is reproducibility. Learn how you are able to take advantage of these characteristics in your research practice.

Installation Instructions

Some software should be installed before you arrive. Detailed instructions are available on this website.

About the Instructors

Ariel Rokem, Stanford University

Ariel Rokem is a post-doctoral researcher in the Psychology Department at Stanford University. His work focuses on biological mechanisms of human visual perception. To study this he has been using magnetic resonance imaging techniques, as well as behavioral assessments of healthy and clinical populations, pharmacological interventions, genetic testing and computational modeling. He received a PhD in neuroscience from UC Berkeley in 2010. In addition to his research, he has been a contributor to open source scientific software and taught best practices in reproducible scientific computing.

Shreyas Cholia, Lawrence Berkeley National Labs

Shreyas Cholia is a member of the Outreach, Software and Programming Group of the USA's National Energy Research Scientific Computing Center (NERSC). NERSC is a division of Lawrence Berkeley National Labs. He is involved with the development of several tools to boost the accessibility of high-performance and grid computing. Many of his recent contributions have been in support of the Materials Project, that he will be introducing at the conference. He holds a bachelor's degree from Rice University, where he double majored in Computer Science and Cognitive Sciences.

About Software Carpentry

From the website:

Software Carpentry's aim is to teach researchers (usually graduate students) basic computing concepts and skills so that they can get more done in less time, and with less pain.

Software Carpentry has been running since 1998, is funded by the Sloan Foundation and Mozilla. Instructors are volunteers.

eResearch NZ 2013 session type: 


Submitted by Tim McNamara on