Hi Software Carpentry team and others,
I was invited to a discussion for our SWC workshop, but it was... during
our workshop.
Here is a short(ish) report. :
Laurent and I just gave our first SWC workshop at ULaval yesterday and
today.
Here is what I have to report :
*Statistics*
Registered : 37 (out of a possibility of 40)
Attendees : 33 overall over the 2 days, with a low at around 28
Staff present : 2 trainers (Laurent and I), and 2 helpers from our staff
I think this is a very good ratio of "no show". We reached 40
registrants at some point on EventBrite, but we sent an email reminder
with installation instructions, in which we specifically requested
people who did not plan to attend to cancel their registration.
Following this email, we got ~7-8 cancellations and a few more
registrations after.
We only had 1 person out of 33 who did not install everything before hand.
We had 2 big research groups who registered /en masse/, and a couple of
people who registered individually.
I *highly recommend* sending an email with the instructions, listing all
of the softwares that are expected to be installed, and requesting
people to cancel their registration if they are not planning to attend.
*Material presented :
*
* Day 1 morning : Bash
* Day 1 afternoon : Git
* Day 2 morning : Python
* Day 2 afternoon : First steps on the compute servers
For the first three, we used the SC material. For the fourth one, it is
a tutorial that I created (see below for the content).
*Bash
*
* Went rather well. Spent a bit too much time on easy things (cd, ls,
mkdir, cp, etc.) at the beginning, and I had to go too fast for more
complex things such as loops. Was generally well received however.
* Loops were definitely the point at which students understood /why/
they should be using command line (i.e. to automate things), rather
than renaming/copying files through Windows Explorer/Finder
*Git
*Was surprisingly well received. People seemed a bit puzzled on the
/why/ early on, but understood the significance when we got to exercises
about collaborating. We had them create an account on Github and
generate conflicts in teams of 2-3 people.
*Python
*
* We did not have enough of half a day to go through the SC workshop.
* We probably spent too much time on plots in the first lesson, and
not enough on programming constructs.
*First steps on compute servers
*
* This is a custom class that I developped
* Content
o Introduction to advanced computing (30 minutes), what is a
parallel job vs sequential job, what is a cluster, who is
Compute Canada/Calcul Québec, how does it work to submit a job,
etc.
o Creation of a Globus account, using Globus to transfer files
onto the server and back (30 minutes)
o Connecting to the server (ssh) and using module (20 minutes)
o Submitting jobs (2h00)
+ For this part, I had written a program with Image Magick,
that applies filters to images. I provided them with a bank
of large images, and they could retreive the resulting
images. There were various examples on how to run it in
parallel :
# & and wait
# GNU parallel
# job arrays + GNU parallel
# MPI
+ They were choosing which example(s) they wanted to do.
+ Each exercise was accompanied with a readme describing the
goal and the new concepts.
*Technical comments or problems encountered
*
* Git bash, used on Windows to teach bash and git, does not contain
nano, or any simple editor (but it contains vi... )
* Many users had trouble configuring another editor on Windows.
Software Carpentry documents how to do it on their website, and we
were not aware of it (a student pointed it to us).
* We had a problem with Globus. It seems that Oauth servers are single
threaded. We had a crashes of the Oauth server caused by too many
people trying to authenticate at the same time. We ended up not
using Globus much because of that.
* For the Bash session, I created a Socrative quiz, which was very
well received and was useful to target and explain what people did
not understand.
* For the Python Session, Laurent synchronized his Notebook with
Github, and people could go to a web page to see what they missed.
* I will try to do the same (synchronize a "script" log to a
github/webpage) for Bash and github lessons
* We insisted on getting feedback after every lesson, and we did get a
lot of useful. We would need much more than 2 photos to send them.
* Etherpad was used mostly one way (i.e. for us to communicate links
or commands to them), not much for them to communicate with us.
* PostIt worked really well.
Maxime
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org