Overview:
I enjoyed joining the Teaching Software Carpentry study group for a few main reasons.
- I began to feel like I could connect with a larger community of scientist-programmers
- I wanted to become better and more confident in teaching others (especially programming skills)
- Gain others perspectives of how to teach programming concepts and at what level we should be aiming in workshops
Highlights:
The activities that I felt were the most productive tended to incorporate these facets of the study group. For example, thinking about how to break down simple lessons into concept maps really helped me organize my thoughts on how to structure a lesson around the main concept and a simple, straightforward goal. Of course, I’d heard of concept maps before, but I never really took the time to think about how to use them effectively as a teaching or organizational tool. When teaching Software Carpentry at Washington University at St. Louis in November, several students mentioned the programming concept map that we laid out on the first day as one of the most helpful tools!
The other assignment that I found the most productive was breaking down programming concepts into different levels (novice, intermediate, and expert). This exercise helped me solidify the lowest common denominator (novice) and specific goals or exercises that students at each level should be able to perform (as well as new programming goals for myself!). For me, it was fun to actually get to communicate with others (our group Skyped) in order to combine our ideas and see what other’s perspectives were on what skills were essential at each level. Making the time to talk to others in a smaller group was really useful for getting to know other programmers and for challenging some of my own preconceptions on what and how to teach.
The parts of the book that I read were thoughtful and overall it seemed like one of the better teaching books that I’ve seen. I’ll probably glance over it again when I begin to put together a formal teaching philosophy or have other teaching opportunities.
To be improved:
- Motivation: Although we talked specifically about motivation with respect to online classrooms, I admit that my commitment waned toward the end of the study group. For me, it was a combination of not being accountable to be physically present in a specific place at a specific time (no peer pressure), not making the study group as high of a priority as I originally thought I would (dissertation progress), and of end-of-semester deadlines (life happens). We already know these things are problems for most students, which to me suggests that face-to-face teaching is really valuable! I think that more small-group projects may have increased my motivation by increasing accountability and the opportunity to get to know others in the group better.
- Assignment Length: Although we often had a lot of time to read material and think about a blog response, the assignment lengths were really variable. For example, although I found many of the posts on Mark Guizdal’s blog interesting or useful, but there were just so many that I didn’t feel like I had the time, motivation or attention span to go through them all. It may have been more useful to simply point out a few of the *best* posts, and suggest the blog as good reading, in general.
- Community building: More group interaction/feedback would be great. Having a community of scientist-programmers is fantastic, and more interaction would be really helpful. I enjoyed the opportunities to discuss ideas with others in online meetings and skype chats.
Overall though, the study group was really helpful and I hope it continues to be a way to connect people and programming ideas!