Archive for the ‘Toronto’ Category
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.
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.
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.
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:
|03.||Level of study|
|04.||Primary programming language|
|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%|
|06.||What other languages do you know?|
|Other (VB, Java, Perl, etc.)||10/27||37%|
|07.||Would you like pre-class tutorial on
|programming basics (loops, files, if/else)?|
|08.||Do you have a laptop?|
|Mac OS X||7/39||18%|
|10.||Do you have a MATLAB license?|
|11.||Which topics are you interested in?|
|Functions and Modules||14/39||41%|
|Web Application Programming||9/39||26%|
|Web Client Programming||7/39||21%|
|How Web Servers Work||6/39||18%|
|Sets and Dictionaries||5/39||15%|
|Unix Shell Scripting||5/39||15%|
|Empirical Software Engineering||3/39||9%|
|Software Development Lifecycles||1/39||3%|
|Other (please specify)||10/39||30%|
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.
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).
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:
- MaRS for the space,
- MITACS and Cybera for funding,
- SciNet, Steve Easterbrook, and an anonymous donor for additional sponsorship,
- our student volunteers for taking care of all the little things, and most especially
- Jennifer Dodd for organizing it all.
- Andrew Louis has posted some pictures; we’d be grateful for pointers to more.
- Joey deVilla’s notes and photos from Titus Brown’s opening talk.
- …and from Cameron Neylon’s talk on open notebook science (which are echoed at the MSDN Developer Connection blog)…
- …and from Victoria Stodden’s (which are ditto).
- Jon Udell has some thoughts about LaTeX-in-the-web and user innovation.
- Cameron Neylon discusses both the undergrad student demos he saw in the morning, and the Science 2.0 talks from the afternoon.
- Titus Brown’s impressions.
- Andrew Petersen thinks it’ll be a long time coming.