Workshop at OU Libraries

This post originally appeared on the Software Carpentry website.

During 19-20 May 2015, I taught a Software Carpentry workshop at the University of Oklahoma (OU) at their fantastic Bizzell Memorial Libary with Jonah Duckles, Logan Cox, and Jeremiah Lant. Jonah and I taught in one room, and Logan and Jeremiah in the other (about 30 students in each room). Tuesday morning was the Shell with Jonah, Tuesday PM and Wednesday AM was Python with me (except the command line section which Jonah covered), and Wednesday PM was git with Jonah. This was my first time teaching the workshop so I decided to write up my observations and student feedback.

Student Feedback

I captured the green and red sticky note feedback after the first three half-day sessions. I processed all the comments by grouping them into major categories to summarize the feedback (an imperfect process but useful I think). Below I show the summarized feedback items, and to capture each item's significance I also give the percentage of all comments for that half-day session that raised this point.

It is interesting that both "too fast" and "too slow" are common which speaks to the challenges of matching the instruction to the student experience level. I also like the feedback of using visuals more mixed in with live coding and including tougher optional challenges for more advanced students.

Task Automation in the Shell

Green Note (17 comments)

  • I like the topics covered (35%)
  • I like the teaching (65%)

Red Note (24 comments)

  • Need more details/too fast (67%)
  • Too slow (21%)
  • Misc comments/issues (12%)

Introduction to Python, Part 1

Green (6 comments)

  • Generally things went ok (100%)

Bad (7 comments)

  • Too fast (43%)
  • Other issues/suggestions (57%)

Introduction to Python, Part 2

Green (12 comments)

  • Good material (58%)
  • Good instruction (42%)

Bad (18 comments)

  • Too slow, make challenges for advanced students (17%)
  • Make things more clear (50%)
  • Too fast, need more time on topics (33%)

Issues I Identified

During the course of my instruction, a couple of issues came up.

  1. Before using the inline plotting in the IPython notebook, I created a separate plot window to demonstrate that functionality. This did not work for several students on Macs, apparently due to lack of X window installation.
  2. In the glob.glob('*.csv'), the results for one student included at least one small-*.csv file which would then run and not plot because it did not have enough data (index out of range error resulted). So probably should be glob.glob('inf*.csv').
  3. Git install problems on Macs due to Xcode.

Planned Improvements

After this first teaching experience, there are several things I want to do differently.

  • Do a better job of interspersing visuals with live coding
  • Present optional challenges for more advanced students
  • Consider using a tablet for teaching notes


  1. Learning from a great group of experienced instructors
  2. Meeting and helping some friendly OU students
  3. Surviving a legitimate Oklahoma weather event
Weather Event
Trying to escape flooded streets in Norman (photo: Jeremiah).

Dialogue & Discussion

Comments must follow our Code of Conduct.

Edit this page on Github