Scientific computing doesn’t have to hurt

Amy Brown handles communication and scheduling for Software Carpentry. The post title alludes to the goals of Software Carpentry, a volunteer organization whose members teach basic software skills to researchers in science, engineering, and medicine. It’s a great organization, and we’re really excited to have Amy tell our readers more about it in this week’s guest post.

 

SWC-hi-res-logo

Regular readers of The Molecular Ecologist will know that it’s a great idea to harness the power of the command line, master a programming language, and share your code. But if you’re new to the shell and version control systems like Git it’s hard to know where to start. Even scientists who have been programming for a while have often not received formal training on their tools.

Software Carpentry was created to fill in this knowledge gap. Our two-day
bootcamps provide an overview of four core computing topics:

  • automating repetitive tasks
  • structured software development
  • testing
  • version control

The automation section teaches the basics of file management and navigating
directories, as well as the intricacies of pipes and redirection, of course
creating simple shell scripts to automate repeated tasks.

The software development section offers a brief overview of Python or R,
and discusses good coding practices: variable naming
conventions, commenting, and other ways to make your code comprehensible to
your collaborators (and to you, six months from now).

The techniques we teach for testing your code will help prove — to
yourself or others — that it does what it’s supposed to do.

Finally, Software Carpentry bootcamps teach version control, both as a way of
sharing code and as a way to keep track of changes to your code and revert to
earlier versions when necessary.

It’s a lot to cover in two days, but our team of volunteers is
continually refining our teaching infrastructure and techniques. Bootcamps
are structured as workshops, with lots of hands-on tutorials interspersed with
demonstrations. Each bootcamp is staffed by several helpers as well as two or
more instructors, so there is always someone nearby to help stuck learners get
unstuck.

If you’re interested in hosting a bootcamp at your institution, get
in touch. (There’s more
information on how to run a bootcamp in our Operations
Guide
.)

If you’re pretty confident with the tools and techniques we teach,
we’d love to have you on the team. You can be a helper at a bootcamp
near you
, join our online
instructor training program
(or use our material to teach your own
workshop, as Anthony Scopatz recently did at the African Institute for Mathematical Sciences), or help out behind
the scenes
.

In the last 18 months alone, Software Carpentry has helped over 3500 scientists
write code better, and write better code. If you’re interested, we’d love
to work with you.

Thanks to Peter Fields and the Molecular Ecologist blog team for inviting
us to write a blog post about Software Carpentry.

Share
This entry was posted in community, howto, methods, software. Bookmark the permalink.