At last week's EGI Forum in Manchester, we ran a day of bootcamp "highlights". These were 1.5 hour taster sessions drawn from bootcamp sessions. Our sessions covered,
- Using version control to record provenance and collaborate more easily.
- Using testing to help ensure your software, and results, are correct.
- Data management using a NoSQL database to manage your data more easily.
We had 15-20 attendees for each session, mostly from a computer science or software development background, and in systems support or technical roles. The interests of the attendees were on the specific technologies covered in each session (Git, Python and nosetests, MongoDB) rather than the concepts underlying these, as most attendees were already familiar with these.
The attendees viewed the sessions as useful. Their comments included,
|Keep up the good work||Depending on the audience you could merge in more git commands|
|The content was useful||The speed of the hands on part was a bit slow (for someone knowing unix and having used other version control systems)|
|[Know] what a NoSQL database is||Would have appreciated more inputs as to: when should I choose MongoDB or any other NoSQL db, as compared to a relational db: typical use cases; configuration of MongoDB; performances expected: should I declare some indexes, how, why? How to set up a ""map and reduce"" configuration of MongoDB?|
|Hands-on very clear|
|Useful to start up very quickly to use MongoDB in python|
The attendees were given SSH logins to a virtual machine with the required tools pre-installed. As we were co-located with a conference, we wanted to allow attendees to drop-in without any advance preparation. Use of a VM avoided any installation woes, though, for our third session, we had to pair up the attendees as the VM began to deny SSH connections as it interpreted too many multiple SSH logins as a possible hack attack (a component called 'fail2ban' was the culprit).
I found that using 'nano', rather than my preferred editor 'emacs', acted as a good brake so I was less inclined to commit the instructor sin of making things happen by "magic".
While the sessions were very tightly-constrained time-wise - in effect only about 1h10 for "live coding" - I felt it was a good way to convey one or two key concepts and messages and to give attendees the flavour of what to expect if they attend a bootcamp - sort of like a movie trailer!