Earlier this year, we co-organized a Software Carpentry workshop in the wonderful city of Freiburg, Germany. This article is a retrospective on our first event held as part of our TailorDev Commons initiative.

Follow-up: Software Carpentry Workshop Freiburg 2017

It is been a while since we co-organized this workshop with the University of Freiburg, and we do apologize for not having published this blog post sooner. In the following, we will cover the preparation of such an event, what we have learnt, and for the sake of transparency, we also publish a financial report.

Preparation

Planning a workshop for 30 attendees requires some work but we were prepared and not alone! We were a team of four instructors, which was a good ratio given the expected number of attendees. Shout-out to Björn and Bérénice from the University of Freiburg!

We first agreed on the content of the workshop, following the Software Carpentry (SC) guidelines. We decided to skip a few things in the UNIX shell lesson, and to slightly adapt the Git lesson to be more practical. We chose to do UNIX + Git in a full day but it was a bit too much for novices.

The overall quality of the SC materials is good, but not always educational, which was unexpected. This was particularly true for the introduction to programming with Python. It was too complicated for complete beginners: no explanation of what a variable is, what “boolean” means, what conditions are, etc. Hence, we prepared our own introduction to Python.

Each instructor had a main lesson to cover, and the other instructors were acting as assistants at the same time. We will get back to that in the Feedback section of this article but it was a wise decision.

Preparing the content of the workshop was one of the two main tasks, the second being getting attendees. We have created a Eventbrite page and spread the word. Partnering with the University of Freiburg (and especially the Freiburg Galaxy Team, part of the Backofen lab) was key to get almost 30 attendees (PhDs, Profs, students, all coming from different fields).

At the beginning, we did not even think about any legal or financial questions. We talked about organizing a workshop, focusing mostly on the content. When it was time to register the attendees, we followed the Software Carpentry (SC) advice and decided to charge the attendees to avoid “no-shows”. That’s where the fun began (more on this later).

The workshop

We put a focus on Git on the first day, and learning programming with Python on the second day. Having a virtual machine was helpful for some attendees, others had installed the required tools themselves. We discovered that even with simple UNIX tools like ls, there were differences between arguments and options, depending on the OS and the version of the tools (GNU vs POSIX). Even with carefully chosen tools, we had a few issues due to these differences. In the future, we will have to better prepare our exercises to avoid them.

Knowing a few things about the UNIX shell was a prerequisite to start with Git. Yet, nothing is easy to learn, especially when you never saw a terminal before. That was an awesome yet tough experience. There are so many things we know that feel natural to us, but when we step back, these are neither simple nor natural concepts. All the instructors had rather long past teaching experiences but not with complete beginners, so we all learnt a lot about teaching.

We relied on the Jupyter Notebook for the Python part. This online tool allows you to create and share documents that contain live code, equations, visualizations and explanatory text. We recommend this tool to teach programming for absolute beginners: it is easy to use, very explicit, visual, and everyone has the same runtime, thus avoiding the issues mentioned earlier.

Feedback

We used the Software Carpentry (SC) “Red / Green post-its” technique to gather feedback. Each attendee received one post-it of each color and had to write one thing she liked on the green post-it, and one thing she disliked on the red one. As advised by SC, we chose to ask after each session, but it was actually too much. Asking at the end of each day would have been enough.

You will find all the results in this Gist. According to SC itself, it sounds like we had a successful first workshop and our red/green comments were in line with what they often see. We taught plotting with Python during the workshop, so we plotted these results to visualize the trend of this workshop :sunglasses:

Financial stuff

Cost breakdown

We decided to share the financial data related to this workshop. The first table describes the costs to “send” the TailorDev employees to Freiburg. There is no “hotel expenses” as William lives in Freiburg and hosted Julien. For a 2-day workshop, the company spent less than 300 euros for both travel/food, very reasonable.

Category Income (euros) Expense (euros)
Travel   -205.46
Food   -74.2
Total   -279.66

The second table below shows the data related to the event itself. We agreed on exclusively using the attendees’ money for the snacks and drinks provided during the workshop, hence both similar income and expense values (~ 250 euros).

We bought a few USB sticks to ease the installation of the different tools required during the workshop. This was outlined in the feedback we received so that was a useful expense :smile: Last, we promised a donation to the Software Carpentry organization, which we did :)

Category Income (euros) Expense (euros)
Snacks/drinks   -250.93
USB sticks   -23.97
Tickets +250.27  
Donation   -178.65 (200 USD)
Total +250.27 -453.55
Difference   -203.28

VAT my love

We are a French company willing to host an event in Germany. At the time of writing, both are part of this European Union thing, so what could possibly go wrong? V.A.T. of course! The EU has a huge online documentation on this topic. After having read many different documents, PDFs, etc. and asked around us, it seemed no one exactly knew how to proceed. We had to make a choice, especially because Eventbrite required such information.

Here is what we have done: because the attendees were exclusively Germans and the event was hosted in Germany, we decided to use their VAT (19%) and to collect it ourselves. Our accountant later did the right declaration to transfer this VAT to Germany. This seemed to work as we did not receive any complaints so far.

What’s next?

We unveiled commons.tailordev.fr with all the content of our previous workshop and we plan to release all the materials of the next ones. We would love to partner with other Universities to organize similar workshops in the near future, either under the Software Carpentry (SC) label or not.

Software Carpentry provides a nice umbrella to organize a workshop. It helps to determine the topics that could be of interest, but it is mainly interesting for communicating about the event. SC is more and more recognized and it is a good option to initiate a first workshop. However, SC does not provide ready-to-use materials accessible for every scientific field of the workshop attendees. Having concrete code examples manipulating trainees’ daily objects is definitely an added-value for your workshop!

To conclude, we might say that it is a lot of work to organize a workshop, be prepared! Interested? Get in touch commons@tailordev.fr, we would love to partner with you to organize a workshop in your university.