Software and research: the Institute's Blog

Latest version published on 31 March, 2017.

Doughnuts.jpgBy Philip Fowler, Department of Biochemistry, University of Oxford.

This post is based on my experience of organising and hosting the first Software Carpentry workshop at the University of Oxford.

For a workshop to be successful, there has to be one and only one local person who is ultimately responsible for the workshop. A host brings the attendees, the instructors and the helpers together in such a way that things get learnt and everyone enjoys themselves. Being the host sounds kind of glamorous, but really what it means is coming in early on both days to buy the donuts, set out the chairs and check that there are no builders drilling. (And on the second day this work will be done after at a night at the pub.) If this is you, or might be you, read on…

1. Who's invited?

Be clear what sort of workshop you will run. Can anyone apply or is it restricted to a specific university or company? You'll need to decide this very early on and then stick to it, because the type of workshop you host will drive many of your other decisions: from the topics covered, to the room used, to how you plan any follow-up sessions.

There are pros and cons either way. A closed workshop can be more easily tailored to a specific audience, the attendees are more likely to know one another and follow-ups will be easier. On the other hand, you won't have any problems populating an open workshop.

If you choose a…

Continue Reading

Latest version published on 26 September, 2016.

HelpWanted.jpgBy Aleksandra Pawlik, Agent and PhD student at the Open University.

1. Familiarity is not enough

Whilst preparing for the workshop you go through the Software Carpentry modules and tick the boxes:

  • shell scripting... yup, written some pretty complex ones
  • SQL queries... been there, done that
  • lists, dictionaries... sure, even implemented Floyd algorithm on weighted graphs.

Unless you have actually taught all of the above (in which case, why are you a helper rather than an instructor?!), the trick is that it is much more difficult to explain to others than being able to just do it. The practice is usually embedded in a lot of tacit knowledge which, even though it may seem trivial, is often incredibly difficult to articulate. It's even more difficult to articulate to someone who has no familiarity with the subject.

Make sure you understand well what is taught at the Software Carpentry workshops. Yes, the instructor is there to explain, but a helper should be ready to answer participants’ questions “When I did A, I got B and now I have C. How did THAT happen?”

2. You’re not just there to troubleshoot, you’re there to troubleshoot FAST

You need to be ready to solve problems effectively and quickly. You can’t afford to take a person's laptop away to the quiet cave of your office, grab a cup of tea and play around trying to find a solution. If the participants are stuck with something, they will not be able to…

Continue Reading

Latest version published on 7 October, 2016.

This week, the Digital Institute at Newcastle University played host to their second Software Carpentry boot camp. I joined Steve McGough of the Digital Institute to deliver this boot camp to attendees from the north-east of England. My colleague Mario Antonioletti and Aleksandra Pawlik, one of our agents, joined me as helpers for their first (but not last!) time.

 Attendees at Newcastle's October 2012 boot camp

The attendees' comments were positive and, as always, there were a number of valuable suggestions for future improvements, some of which will be applied next week, on which note...

Next up in the UK is a boot camp for bio-informaticians at the University of Oxford next week, run by Phil Fowler, and joined by Steve Crouch and myself. In December we're running a boot camp in Edinburgh as part of PRACE. And, in the New Year, Steve C will be heading to Europe to help present boot camps in Munich and Tuebingen.

For more news on our involvement in Software Carpentry or if you want to get involved as a helper, instructor or organiser, check out our Software Carpentry web page or contact…

Continue Reading

Latest version published on 7 October, 2016.

Python_0.jpgBy Aleksandra Pawlik, Agent and PhD student at the Open University.

IPython is a cross-platform tool developed by scientists to support the exploratory nature of scientific software development, and make it easier for researchers to quickly alter the Python code they use to advance their research. Excellent support from the development community has added many useful new features, such as support for cloud computing and even an Emacs interface.

Fernando Perez, a researcher at the Helen Wills Neuroscience Institute at U.C. Berkeley, is the developer behind IPython. Motivated by a desire to build Python into “good system for everyday scientific computing”, Fernando started working on IPython back in 2001. Today the bulk of the work is done as a team effort. The first prototype of IPython Notebook (an IPython front end) was coded in Summer of 2011 by Brian Granger, with later development supported by the rest of the IPython team.

IPython is a free, interactive shell environment for Python (it’s also easy to install and can be tried out online at PythonAnywhere). IPython provides a number of solutions that make work (and life) easier for anyone who uses the standard Python command line interpreter. For example, IPython allows autocompletion (with TAB), navigation of the file system and also enables…

Continue Reading

Latest version published on 7 October, 2016.

LikeDislikeAmbivalent.pngBy Nick Pearce, Teaching Fellow at the Foundation Centre, Durham University.

There is little doubt that social networks can be useful for sharing information, gossip and online resources. Despite the dominance of Facebook there are a range of alternatives out there, each with a unique selling point and target market. In January I carried out an audit of my social network presence and counted seven different networks, and since then I’ve added a Pinterest account which I’m using in my teaching. Is it really necessary to have so many different profiles? What are the challenges in keeping up with them all?

Each of my profiles connects to different sets of people (although there is some overlap). Whilst my Facebook friends are starting to migrate over to Twitter, they are probably not all that interested in my quite geeky tweets. My mainly professional and academic network on Twitter isn’t going to be all that interested in my various weddings, stag parties and birthdays. I’m still wondering why I am on LinkedIn and Google+, and my profile is only useful because it tells me when people…

Continue Reading