Software Carpentry

Helping scientists make better software since 1997

Archive for the ‘Toronto’ Category

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

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


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

A Good Afternoon

Yesterday afternoon, the students and ninety other guests were treated to six engaging talks about Science 2.0 from Titus Brown, Cameron Neylon, Victoria Stodden, David Rich, Michael Nielsen, and Jon Udell. We’ll post slides and video here as soon as we get them; until then, you can catch up on what happened in the FriendFeed room or by reading Steve Easterbrook’s real-time blog of the event.

Our thanks once again to everyone who made the day possible:


Written by Greg Wilson

2009/07/31 at 00:20