It seems there is a boot camp for just about everything these days. But have you heard of a boot camp for scientists that teaches best practices for writing and managing code? That's just what the organization Software Carpentry (SWC) is about.
On January 27 & 28, Data Management Services teamed up with SWC to hold one of their boot camps for Stanford physics and geophysics grad students and post-docs. Twenty-five attendees gathered in the Hartley Conference Center for two days of python coding and skill building.
"This is intense!" said one student to another during a coffee break at the event.
Software Carpentry is a Mozilla Foundation and Sloan Foundation-funded organization whose mission is "to teach researchers basic lab skills for scientific computing: the tools and techniques that will help them get more done in less time, and with less pain."
The course offered instruction on:
- the Unix shell and automating repetitive tasks,
- programming and scientific computing in Python,
- growing a program in a modular, testable way,
- using Git and GitHub version control software to track and share work efficiently,
- validating and testing sofware, and
- creating reproducible research workflows.
Our experienced SWC instructors, Stanford post-doc Ariel Rokem and UC Berkeley post-doc Justin Kitzes, along with several helpers, guided our students through a variety of hands-on exercises that left them ready to jump into their own research problems when the class was over.
Several students commented that they enjoyed learning Git (a version control system) and can see "a multitude of uses for it" in their future work. Another said the course was a great introduction to Python (a programming language), and yet another said they definitely feel more comfortable with both Git and Python now.
Hopefully, all the attendees have learned some new best practices and good habits that they can take back to their labs and start employing right away to make their code look more professional and their research easier to share and reproduce.
If you are interested in working with Data Management Services to host a Software Carpentry boot camp for your group, center, or department, please contact Amy Hodge, Science Data Librarian, at firstname.lastname@example.org or 650-556-5194.