Software Carpentry

Helping scientists make better software since 1997

Archive for the ‘Venues’ Category

Software Carpentry for Economists in Mannheim This Autumn

Hans-Martin von Gaudecker is planning to teach a Software Carpentry-style course for economists at Universität Mannheim this autumn — as his announcement says, “I think it is amazing that a profession obsessed with efficiency affords a very obvious inefficiency: Most researchers nowadays spend a fair share of their time programming, but hardly anyone has been taught to do that well.” I’ll post updates here as he sends them.

Written by Greg Wilson

2010/04/08 at 01:43

Posted in Mannheim

Feedback and Boundaries

Thanks to the initiative of Dominique Vuvan (who took Software Carpentry last summer), we ran a semi-formal version of the course from last November through to this past week for grad students in Psychology, Linguistics, and a few other disciplines at the University of Toronto. Weekly tutorials were offered in both Python and MATLAB by graduate teaching assistants from Computer Science, covering roughly half of the existing material.

Read the rest of this entry »

Written by Greg Wilson

2010/04/04 at 01:29

Posted in Toronto, Version 3

Summer Course: Analyzing Next-Generation Sequencing Data

Analyzing Next-Generation Sequencing Data

May 31 – June 11th, 2010
Kellogg Biological Station, Michigan State University
CSE 891 s431 / MMG 890 s433, 2 cr

Applications are due by midnight EST, April 9th, 2010.

Course sponsor: Gene Expression in Disease and Development Focus Group at Michigan State University.

Instructors: Dr. C. Titus Brown and Dr. Gregory V. Wilson

This intensive two week summer course will introduce students with a strong biology background to the practice of analyzing short-read sequencing data from the Illumina GA2 and other next-gen platforms. The first week will introduce students to computational thinking and large-scale data analysis on UNIX platforms. The second week will focus on mapping, assembly, and analysis of short-read data for resequencing, ChIP-seq, and RNAseq.

No prior programming experience is required, although familiarity with some programming concepts is suggested, and bravery in the face of the unknown is necessary. 2 years or more of graduate school in a biological science is strongly suggested.

Written by Greg Wilson

2010/03/25 at 01:02

BEACON Funded!

Congratulations to Titus Brown and others on the NSF’s announcement that it will fund the BEACON (Bio/computational Evolution in Action Consortium) Science and Technology Center. BEACON “…BEACON is focused on studying the evolution of organization across multiple scales—from genomic and cellular, to multicellular, to inter-multicellular (a.k.a. social)—using techniques from experimental evolution, modeling, and digital life systems.” Long story short, this means that Michigan State University and its partner institutions “…has money explicitly for supporting students doing really sexy interdisciplinary work combining computation and biology.”

Written by Greg Wilson

2010/02/22 at 18:52

Posted in Michigan State, Noticed

Thanks, Jamie

The warmup tutorials for our grassroots Software Carpentry course started this week, and we’d like to send a “thank you” to Jamie Winter at The MathWorks, who has provided students with temporary licenses for MATLAB. It’s all been very last minute, and we’re grateful to Jamie for pulling this off on such short notice.

Written by Greg Wilson

2009/11/28 at 01:31

Tutorials Start This Week

After a lot of hard work from Dominique and Jon, we’re kicking off warmup tutorials for Software Carpentry this week. 65 students from Psychology, Linguistics, Chemical Engineering, and a couple of other departments will get three weeks of review on basic programming, then start the regular material in January. Our thanks to MITACS, the MathWorks, SciNet, and DCS for their support.

Written by Greg Wilson

2009/11/24 at 13:35

Our Target Audience

Some graduate students at the University of Toronto have asked us to run the course for them later this fall or during the winter. There’s an obvious selection bias (if they were expert programmers, they wouldn’t need this course), but I think they’re pretty representative of scientists at their level:

01. Name 39/39 100%
02. Email address 39/39 100%
03. Level of study
MSc 12/39 30%
PhD 27/39 70%
04. Primary programming language
MATLAB 16/39 41%
Python 2/39 5%
Other 6/39 15%
None 15/39 39%
05. Knowledge of primary language
Don’t know how to use it 28/39 72%
Understand basic commands 10/39 26%
Can program competently 1/39 2%
Expert 0/30 0%
06. What other languages do you know?
HTML 11/27 41%
R 4/27 15%
Other (VB, Java, Perl, etc.) 10/27 37%
No answer 12/39
07. Would you like pre-class tutorial on
programming basics (loops, files, if/else)?
Yes 36/39 92%
No 3/39 8%
08. Do you have a laptop?
Yes 39/39 100%
No 0/39 0%
09. Preferred OS
Windows XP 14/39 36%
Windows Vista 12/39 31%
Mac OS X 7/39 18%
Linux/Unix 9/30 0%
10. Do you have a MATLAB license?
Yes 9/39 23%
No 30/30 77%
11. Which topics are you interested in?
Databases 16/39 47%
Functions and Modules 14/39 41%
Debugging 10/39 29%
Image Processing 10/39 30%
Object-Oriented Programming 10/39 30%
Web Application Programming 9/39 26%
GUI Programming 8/39 23%
Web Client Programming 7/39 21%
Computational Complexity 6/39 18%
How Web Servers Work 6/39 18%
Regular Expressions 6/39 18%
XML 6/39 18%
Automated Builds 5/39 15%
Sets and Dictionaries 5/39 15%
Unix Shell Scripting 5/39 15%
Binary Data 3/39 9%
Empirical Software Engineering 3/39 9%
Quality Assurance 3/39 9%
Unit Testing 3/39 9%
Version Control 3/39 9%
Software Development Lifecycles 1/39 3%
Other (please specify) 10/39 30%

Written by Greg Wilson

2009/11/01 at 14:04

Posted in Toronto

The Hacker Within

I did a web search for “software carpentry” a couple of weeks ago to update my impressions of how the material was being used, and stumbled across The Hacker Within,a self-help group at the University of Wisconsin for grad students in science who want to improve their computing skills.  I had a great chat with the organizers by phone on Thursday, and hope to get there in the spring to meet them in person.  It’s always great to meet the people the course is designed to help; I’d welcome pointers to other groups if you have them.

Written by Greg Wilson

2009/10/05 at 14:50

Posted in Community, Wisconsin


Today was the last day of the course, so we spent the morning talking about what had gone well and what had not. The high and low points were:


  • The course was fun.
  • The TAs were fantastic.
  • The format (one hour of lecture plus two hours of lab, twice a day) worked well.
  • Enjoyed the parts where the instructors programmed live.
  • Liked the emphasis on working practices that complement coding.
  • Liked the spread of topics, and the variability of things that are useful in all the different fields.
  • Liked the pair programming.
  • Welcomed exposure to standard libraries that weren’t necessarily covered in the course.
  • Liked the pre-arrival questions about what people knew, were doing, and wanted from the course.
  • The examples were good.
  • So were the donuts.


  • Three weeks is too long.
  • Some of the later topics were not as useful.
  • Would have preferred to use standard libraries for the image processing lecture and exercises instead of simplified libraries.
  • Too little coverage of too many subjects.
  • The formatting of the slides leaves much to be desired.
  • Too many lectures ran over time (which was particularly hard in afternoon sessions).
  • Divided attention in FriendFeed is a problem.
  • The less applied stuff (e.g., computational complexity) wasn’t as useful or as interesting.
  • Students weren’t given enough time to work on their own projects.
  • Didn’t feel encouraged to make suggestions or provide feedback.
  • Not enough on shell programming.
  • Too much shell programming.
  • A/V between Toronto and Edmonton was crude by modern standards.


  • More on object-oriented programming.
  • More feedback on the students’ solutions to the exercises—they didn’t get the equivalent of grading.
  • Put the exercises up before the class, so that students know what the lecture’s going to be leading them to.

It’s been a good three weeks—I enjoyed getting to know the students, and look forward to seeing what they do with what they’ve learned.

Written by Greg Wilson

2009/08/01 at 00:26


Today (Thursday) was the second-to-last of the course. It’s been a long haul, but we hope a rewarding one. In the morning, the students had an hour-long overview of results from empirical studies of real-world software engineering; in the afternoon, we looked at how traditional and agile development processes are responses to those facts. Tomorrow morning, we’ll spend an hour talking about what’s gone right and what’s gone wrong, then head out for a farewell lunch.

And in late-breaking news, one of the students, Mark Tovey, has started a blog on open source cognitive science. Thinking about it now, we should have required all of the students to start and maintain blogs during the course; here’s hoping some will do it now of their own accord (hint, hint).

Written by Greg Wilson

2009/07/31 at 00:23

Posted in Alberta, Toronto, Version 3


Get every new post delivered to your Inbox.