Teaching basic lab skillsfor research computing

Workshop at University of Southern Denmark, Odense

The workshop at University of
Southern Denmark, Odense was my first workshop for Software Carpentry, the
same is true for Luis as well. We had taught before, Luis more than me, but it
was still exciting for me to see how this workshop would go given that we never
taught together before. While I taught bash, regular
expressions and Git, Luis taught
Python, unit testing and SQL.
Initially, make was also on that list, but due to time constraints was kicked
out to make room for a second Git lecture.

Around 30 persons attended the course, mostly from SDU and
the Max-Planck
Odense Center (MaxO). All in all, the workshop was well-received
and the attendees as well as the instructors were highly
motivated. But there is still lots of room for improvement:

The shell lecture was way too slow, so
that I could not do any of the demos. This was bad for a couple of reasons,
but mainly because people did not know about even the most basic things which
were needed for the Git part.

The regular expressions lecture should also increase in speed. Also, we (=
SWC instructors) must be aware that Apple ships old BSD
versions of the commonly used command line tools. These lack
essential features, so that grep output cannot be colored on OS
X!

Git just cannot be taught in 1.5 h to people without any prior knowledge of
version control, at least not in a comprehensible way. Git is so incredibly
powerful and the concepts behind it are so intricate that it is easy to
cognitively overload people. Therefore, I dropped the make lecture and did a
’Git Double Feature‘ instead. Also, I noticed
that I am suffering from expert's blind spot: when asked
about where one can see the files of different branches on the computer, I
realized that this feature of Git was so obvious to me that I did not explain
that at all.

Probably the most interesting/realistic way to show Git is to have a new
repository created before the workshop. That repository already contains some
linear commits with simple scripts. People will clone it during the workshop
and do some work in a new branch. While they are doing that new commits are
added to the master branch, which people should fetch/pull and see the
effect.

Showroom: Now and then we need to be able to show people
what great things they can do with tools we teach. This would serve two
purposes:

People would see right away the usefulness of what we are teaching.
This should boost motivation.

People have a moment to relax.

The workshop was held on a Thursday and Friday and it was obvious that people,
especially after lunch break on Friday, were mentally quite exhausted already.
At that time I noticed just how much information (as measured in the
’unit‘ mind map connections) we conveyed during the two days. And
that is what the ’showroom‘ is thought to be for.

Big thanks go to Owen Jones from SDU for organizing, things really worked out
great.