Teaching basic lab skills
for research computing

Feedback from Cranfield

On 21-23 July, EPCC's ARCHER training team visited a sun-drenched Cranfield University to run a Software Carpentry bootcamp and Introduction to Scientific Programming in Python. The 3 days combined a traditional bootcamp with a new day course providing an Introduction to Scientific Programming in Python.

We covered shell hints and tips, version control and Git, and end-to-end and unit testing in Python. Our Introduction to Scientific Programming in Python included NumPy, SciPy, matplotlib, Cython and mpi4py, using a computational fluid dynamics code as an example.

We had 28 attendees, mostly from Cranfield itself, with few attendees from further afield including Heriot Watt, Queen Mary University of London, Greenwich, Sheffield, the National Oceanography Centre and even Berkeley. And, as is traditional on bootcamps, we gathered feedback on the good points and bad points of the bootcamp:

Good points Bad points
Shell refresher and version control Shell refresher was on too introductory level - might be expanded with frequently used tools like grep or sed etc.
Git (for version control)
Good coverage of Git including the use of remote repositories
Revision control with Git = :-)
The use of Git was really interesting
Enjoyed "make" in the first day very much Would like more basic introduction to Make
Make
Make
Makefiles
Give a good overview of the possibilities of using Python and Bash shells Basics of Python (as well as more complex features) could have been covered
Introduction to Python was exactly what I was looking for numpy terminology = :-(
Increased my knowledge of Python!! Exercise on day 2 [Python] lost me a little
Especially liked interfacing Python with Fortran/C The second day's Python session could be made easier to follow
The course presented the potential of Python and some of its libraries (especially numpy and matplotlib) and it might be useful for my research Perhaps use an easier example than CFD
Matplotlib for LaTeX - making combined *.eps and *.tex is easy in gnuplot - I can't find how to do it in Python
This material needs to explain slice syntax visually
Unit testing Testing very specific to example, difficult to link it in to practical use
Test driven development More test cases would be beneficial to feel more comfortable with the most important commands
Intro to unit testing especially valuable for me
Software installation aspects/issues
The use of different operating systems in the lectures made the process a bit difficult
The preparation of uni desktop PC with all the libraries would have been useful
The general pace was very reasonable Pace a little fast for beginners
Well-presented at a good pace Pace of teaching too fast sometimes
The follow-along-with-me style of teaching works well for this material Sometimes it was going fast
Step-by-step walkthrough and EtherPad Sometimes went a bit too fast
Pace was slightly too fast
Python day felt a little rushed in lecture segments
Assistants are around to guide Should use microphone
Teachers are very approachable and explained code very well
Everyone really helpful and friendly
The lecturers: prepared, available and patient
The demonstrators were easy to talk to and gave clear explanations
Teaching room was too hot at first
Lack of air conditioning on days 1 + 2
Hot room on Monday and Tuesday
Heat!
Air con
Organisation of the course Programming practice instructions could be clearer
Course content Easier examples with step-by-step instructions, before the main example
Presentations Examples should be more relevant to industry use
Practical exercise The contents are general and not enough practical examples were provided
A lot of useful links Crib sheet of commands
It's really useful
Great intro to tools required for open science
This wisdom should be given to every PhD student on day 1!!
Very clear material
Free training The location is probably not convenient for people not from Cranfield Uni

As an instructor, asides from my low tolerance to extreme heat, the main challenge was screen real estate - and a tension between font size and what is visible at any time. As a result, attendees sometimes missed what I was typing at my command prompt as I'd switch to my editor. In later sessions, I tried to paste everything to the EtherPad as I went, which both gave time for attendees to catch up and helped me not go so fast!

Due to the unexpectedly heat of our room, our local hosts, Mark Stillwell and Robert Sawko, did a great job in getting us another room for some of our sessions, and we relocated to the cooler climes of the second when it was free.

ARCHER's training team will be running more bootcamps in the coming months, and members of our team will be attending the Software Carpentry: Instructor Training at TGAC this October. We look forward to reporting on our experiences.

Dialogue & Discussion

You can review our commenting policy here.