Back when I was still trying to do science myself, my field of study was software engineering. The International Conference on Software Engineering is the big gathering for researchers in that area, and this year's has just wrapped up. Thanks to this Gist from Mike Hoye, I was able to browse the papers presented at ICSE and co-located workshops (like him, I'm outside the Great Paywall of Academia), and I've included titles and abstracts below from the ones I think readers of this blog might enjoy. They're only a fraction of what was presented, and I freely admit the sample is biased toward the things I understand and find interesting, but I hope they'll convince you that people are doing solid empirical studies in software engineering, and producing insights that we can and should act on.
Note: just over half of these papers (13 of 24) had an easily-findable version online. I'm not going to do the experiment, but I confidently predict that those 13 will be more widely read, and more influential, than the other 11....read more
[This] draws from more than fifty interviews with librarians who have written code in the course of their work. Its goal is to help novice and intermediate programmers understand how programs work, how they can be useful in libraries, and how to learn more.
Three chapters discuss use cases for code in libraries. These include data import, export, and cleanup; expanded reporting capability; and patron-facing services such as improvements to catalog and LibGuide usability. Most of the programs discussed are short&mash;under a hundred lines—so that implementing or modifying them is within the reach of relatively novice programmers. Where possible, links to the code itself are provided. Several scripts are explained in depth.
Additional chapters focus on nontechnical aspects of library code. One chapter outlines political situations that have been faced by librarians who code and the solutions they have employed. Another chapter shares interviewees' advice on specific resources and strategies for learning to code.
The assessment subcommittee seeks to assess the effectiveness of the activities of the Software Carpentry Foundation (SCF). It met a few weeks ago and drafted an action plan on how to move forward to create a series of assessments for our learners. This action plan will be the basis on how further assessment tools will be developed....read more
Christian Jacobs, Gerard Gorman, and Lorraine Craig have written a paper titled "Experiences with efficient methodologies for teaching computer programming to geoscientists" that describes how their intro to computing course has changed over the last few years. It includes discussion of ideas they've borrowed from Software Carpentry, and some data on hwo students have responded. It's a good read, and we'd welcome more experience reports of this kind....read more
We have now run instructor training in three formats:
We've also gathered a lot of feedback on what people want from instructor training and what its prerequisites should be. Based on all of that, we're going to try to combine the best features of everything we've done so far....read more
It's been several months since we last welcomed new instructors to the team. A lot of people have finished training since then, so please say hello to:...read more
This week the mentorship team ran the 9th round of instructor debriefing session. Thanks to Andrew MacDonald, Doug Latornell, Evan Morien, Ewan Barr, Isabell Kiral-Kornek, Jackie Milhans, Kara Woo, Karl Broman and Tiffany Timbers for the great feedback of the workshops at Northwestern University, Simon Fraser University, Swinburne University of Technology, University of Melbourne and Washington State University....read more
The mentorship team met last week for a discussion with instructors who recently taught, including workshops at the National Center for Atmospheric Research (NCAR) and University of Texas at Arlington (the latter of which was taught by both authors of this post). Three important issues emerged during our discussion: recording the instructor's shell code, using example scripts to model increasing complexity in coding, and preparing instructors/helpers with answers to challenges....read more