Titus taught the second part of Day 2. His curriculum was basically a series of brief (30-45 minute) lessons on useful computing tools in science. He covered how to install Python packages, using UNIX tools (like ssh and BLAST), testing (unit tests and regression tests), and version control.
For the testing lesson, Titus actually used some code that students had been writing over the past day and prompted students for ways that it could break. He then wrote tests according to their comments. The students seemed to enjoy the interactive nature of this lesson.
When we talked about version control, Titus mostly restricted his lesson to using the new features of Github that are online. He showed how to clone, branch, fork, commit, and merge – all using the course website which is hosted on Github. Again, the interactive nature of the lesson was a hit. I do think that we should have talked a bit more about how to use git from the command line, how students can make a local git repository on their computer.
Minute Card Responses:
Successes: The topic of testing was a hit with the more advanced students in the class.
Recommendations: The survey approach for the afternoon was really popular, because it kept the pace of the class clearly moving forward, just as students were starting to get really tired of the workshop. Version control should probably be taught from the command line as well, but introducing GitHub via the online interface was really straightforward and useful.