Hi all, Recently there has been a lot of interest in sharing our experiences of teaching at bootcamps, e.g.
http://software-carpentry.org/blog/2014/09/building-better-teachers.html https://github.com/swcarpentry/bc/issues/713 https://github.com/swcarpentry/bc/issues/689 http://lists.software-carpentry.org/pipermail/discuss_lists.software-carpentry.org/2014-August/002064.html http://lists.software-carpentry.org/pipermail/r-discuss_lists.software-carpentry.org/2014-August/thread.html#119 http://lists.software-carpentry.org/pipermail/r-discuss_lists.software-carpentry.org/2014-May/000093.html Thus I'd like to share some of the practical details of the recent R bootcamp at the University of Chicago that I taught with Will Trimble, Emily Davenport, and Dan Braithwaite. The audience consisted of biologists with little to no prior programming experience. We had ~40 students on the first morning and in the low 30s by the end of the second afternoon. https://jdblischak.github.io/2014-09-18-chicago/ ## Material covered and time estimates We had the students arrive at 8:30 so we could start troubleshooting installations problems as early as possible. At 8:45 I gave a quick introduction that I modeled after Damien Irving's recent introduction, followed by the instructors and helpers introducing themselves. https://jdblischak.github.io/2014-09-18-chicago/slides/intro.pdf https://twitter.com/DrClimate/status/503734594059763712 Will started teaching the shell promptly at 9. He thoroughly covered lessons 1-4 at a slow pace, allowing ~15-20 minutes for the exercise breaks at the end of each lesson. Lessons 5-6 had to be rushed due to lack of time. While the full lessons 5-6 were not delivered and there was not time for exercises, he was able to demonstrate for loops, a shell script that took standard input, and a shell script that took a filename as a command-line argument. We stopped for lunch at noon, so with a coffee break of ~15 minutes this took 2 hours and 45 minutes. Emily taught Git lessons 1-4 at a slow, thorough pace. This took about 2 hours and 15 minutes. Since we had time at the end of the day, Will taught shell lesson 7. This took an hour, though he had to go through the exercises with the students together since there was not enough time left for them to work on them on their own. On the second day, Dan started with the novice R lessons (which are based off of the novice Python lessons). These took a long time, especially lesson 2 on functions. Lessons 1-3 took about 4 hours and 30 minutes. In the last 90 minutes, I was able to cover lesson 4 and then the first third of the lesson on writing command-line programs (the exercises in this lesson are quite involved). We stopped after doing the first exercise to write a program to do arithmetic. I purposely skipped lesson 5, defensive programming, in the Python lessons, since it does not use the inflammation data as an example. ## Delivery of materials While we did not make heavy use of the online lessons during our presentations, we provided these to the learners throughout the bootcamp. This served two main purposes. First, it provided some structure to the day, i.e. the students could follow the progression as we moved from one lesson to the next. Second, it was a way to deliver the exercises to the students. Many of the exercises include pictures and/or example input/output, so we preferred this approach over writing the questions into the Etherpad. For the Shell, we used the tarball approach in the current PR from Clare Slogget. For most users, this downloaded into their Downloads folder, which they were able to navigate to using cd. https://github.com/swcarpentry/bc/pull/716 For the novice R lessons, I created a small repo with the necessary data files and also an RStudio project file so that it was easy to get everyone quickly and easily into the correct working directory. https://github.com/jdblischak/swc-novice-r ## Summary Overall, I think this was the most successful bootcamp that I have participated in. I suspect this is due to the following reasons: 1. The novice materials introduce fewer commands but then show more advanced concepts using this smaller toolset (i.e. in past bootcamps I had never got to pipes in the shell or command-line programs in Python/R). 2. The amazing SWC windows-installer makes Git Bash actually usable. There is no way the Windows students would have been able to follow along with these lessons without nano and Rscript. 3. More and more biologists are exposed to programming, so it is easier for them to see the usefulness of what we are teaching. John _______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
