HomeNews and blogs hub

Software Carpentry bootcamp in Pisa

Bookmark this page Bookmarked

Software Carpentry bootcamp in Pisa

Author(s)
Aleksandra Pawlik

Aleksandra Pawlik

SSI fellow

Posted on 23 June 2014

Estimated read time: 4 min
Sections in this article
Share on blog/article:
Twitter LinkedIn

Software Carpentry bootcamp in Pisa

Posted by a.pawlik on 23 June 2014 - 2:00pm

By Aleksandra Pawlik, Training Leader.

This month, Software Carpentry didn’t quite support the leaning tower of Pisa, but it did the next best thing by helping students at the University of Pisa’s Istituto Nazionale di Fisica Nucleare become better coders. Running a bootcamp early June in Tuscany does have its perks. The memories of gelati and focaccine di ceci are still vivid. How could you not love being a Software Carpentry instructor?

The bootcamp kicked off with an introductory session and a lecture titled "Track trigger and applications beside particle physics." Then, in the afternoon, the students could review their computer settings with the instructors. This work, which took place before the bootcamp began helped make sure that everyone had the correct software installed, which saved us a lot of time over the next two days.

The Pisa bootcamp was not restricted to University of Pisa students, there were many others including one attendee who came all the way from Turin. Regardless of where they came from, all our participants had a good grasp of programming concepts and many had coded in more than one language.

Across the group of students we found that their command-line skills varied quite significantly. Some were almost completely unfamiliar with Shell, while others only had limited experience of it. On the other hand, there were some who were clearly very knowledgeable and comfortable with commands and scripting.

This meant that Rémi, one of the instructors, faced a particularly difficult task teaching command line as she had to accommodate this varied audience. We needed to manage expectations, not least because Software Carpentry always pitches at the level of the least advanced part of the audience. The more advanced participants could progress further, as they were able to work with the additional material which we had provided..

The version control module was easy to teach. The vast majority of the audience were unaware of version control, which meant we could teach the subject on the same level for everyone. All our students were LaTeX users, and this helped us to quickly demonstrate the usefulness of version control for both source code and collaborative paper writing.

The most exciting part of the version control module, was a final exercise where the students worked in pairs on a new shared GitHub repository. The bootcamp attendees continued to code with Python. All the attendees had programming experience and so we decided not to patronise them with what they already know, but moved instead straight on to data analysis using NumPy.

The bootcamp’s second day began with more work on Python. Rémi covered a detailed module that focused in particular on NumPy and SciPy. Then I taught an introduction to testing code in this environment. The bootcamp drew to a close with an exercise where attendees had to fork a repository containing an IPython Notebook file. This contained code that needed to be fixed and developed further. Once the task was completed the students then had to send a pull request.

The bootcamp ended with lots of positive feedback from students. This bootcamp was for a more advanced audience, and I found that they could immediately grasp what they were being taught and the benefit of the skills they learned during the bootcamp. As one of the participants tweeted:  

I still can't figure out how I managed to write all the thousands lines of code without Git. Huge thanks to @swcarpentry!

The Pisa bootcamp instructors were myself and Rémi Emonet, while the main organisers and hosts were Chiara Roda and Luca Baldini.

Share on blog/article:
Twitter LinkedIn