Early in November we put on Software Carpentry for the students of the MSc course in Clinical Bioinformatics run by the University of Manchester, UK and the British National Health Service (NHS). The course combines academic curriculum with work-based programme. The students (who already are qualified professionals) are based at various clinical units in the UK and meet only a few times to attend short intense training sessions. The instructors at the Software Carpentry workshop were Aleksandra Nenadic, who taught for the first time, and myself; we were helped by Mike Cornell and Andy Brass.
After a few discussions with the course leader, professor Andy Brass, we decided to embed the regular Software Carpentry workshop in a week-long training aiming to teach the students best practices in programming but also give them a higher level overview to help them in their future career when they may be co-leading development of safety-critical software. Hence, the Software Carpentry bit included the module on unit testing to show the participants the approaches to testing software beyond regression testing which they might have already been familiar with. We also added a very short introduction to handling XML files with Python using ElementTree library. This module was added just for the purposes of this particular course. After completing the Software Carpentry part, the students were given an assignment to write a simple parser for XML files used in bioinformatics. The students were divided into groups of 4 and in completing the task were using the tools and methods which Software Carpentry covered. The assessment criteria were largely based on whether the students wrote modularised and well structured code, documented and tested it. The use of version control was another criterion. The Software Carpentry instructors were not involved in the assessment but professor Andy Brass told us that the students' results were outstanding.
It should be mentioned that the group consisted of only 12 students, which obviously made the teaching much easier than during regular workshops which on aaverage are attended by 30 students. As usually, their skills varied and some of them were more advanced than others. However, on the workshop website we linked more material which allowed the advanced students to work further in their own pace whilst we focused on teaching those who were less familiar with the given topic.
It should be mentioned that the group consisted of 12 students only which obviously made the teaching much easier than during regular workshops which on aaverage are attended by 30 students. As usually, their skills varied and some of them were more advanced than others. However, on the workshop website we linked more material which allowed the advanced students to work further in their own pace whilst we focused on teaching those who were less familiar with the given topic.
In my experience, teaching at Software Carpentry workshops is always a enjoyable experience as the attendees really want to learn the skills which should help them with their everyday work. At this particular course, the students were exceptionally highly motivated and were very keen to work throughout the material. Several of them signed up for the Data Carpentry workshop which we run two weeks later also in Manchester. I found this very rewarding as an instructor.
In fact, Andy Brass, who collected feedback from the students, said, "Students were hugely appreciative of the SW carpentry course. It was interesting to sit in at the back and watch just how engaged the students were with the process (...). They were almost annoyed with us that something so useful to them had not been made available earlier to them". We are therefore now working towards making Software and Data Carpentry training accessible more regularly to the NHS training students.