In Fall 2014, I led a series of introductory Python workshops sponsored by the Python Software Foundation with the help of a team of wonderful mentors, based on the curriculum from Prof. Benjamin Mako Hill's Community Data Science Workshops. The workshops were aimed at students in undergraduate programs that do not require any programming classes, and we saw diverse participation from undergraduates in the Applied Health Sciences, Arts, Environment, and Science Faculties, as well graduate students, alumni, and staff.
Since the completion of the workshops, I have collected data to measure their impact and also have stayed in touch with a number of my students whose personal programming projects are quite impressive! I've also received a number of requests for support to run similar workshops on campus, and requests for our curriculum. You can grab our curriculum off of the OpenHatch wiki, here—it's free to use!
Student feedback for the workshops was overwhelmingly positive: over 90% of the students rated the workshops “Good” or better, with more than half of those students rating the workshops “Very Good” or “Excellent,” and 77% of students indicated their interest in taking intermediate Python workshops if WiCS were to offer them in the future.
I want to share some of my favorite student feedback, from our anonymous surveys:
- What things did you find most enjoyable or rewarding about the sessions? “Seeing my code run!!”
- “I can see that programming involves a lot of out-of-the-box thinking! My mental muscles were sore even watching the worked examples, but I'm better for it and really appreciate the opportunity to learn something so radically different from what I normally do in my courses.”
- “I'm glad you mentioned intimidation and perception, because I am now far more confident looking at data tasks or problems knowing that I could likely solve these with Python – or that programming can be used to solve them in a path I have at the least a passing understanding of.”
- “I know I've said this before, but, EXCELLENT FOOD SELECTIONS!! I think I'm being conditioned to think well of these sessions because I always associate them with food. Did you plan this?”
- “Taking this workshop made me think of simple algorithms to use that could fix the problem. Even though I don't have the skills exactly to program a solution, my way of thinking about the problem has changed (more outside the box—how can I automate this? instead of wasting time doing it manually).”
- “It was a valuable and worthwhile endeavour. I really appreciate the time energy and everything that you guys put into the workshops so people from non-technical backgrounds can be exposed to programming.”
- “The amount of work and planning that went into this showed the participants your dedication. Thank you!!”
One of the things that I've been most excited about is all the follow-up emails I've received from my students, telling me about their personal projects and asking my advice. One student wanted to write a style checker addon for webpages; one has joined their friend in Computer Science to make games. Another has used their skills to automate stimuli in psychology experiments, and yet another has been playing around with programming a Raspberry Pi.
I wanted to feature Shlomo Dunyo's website, scholarly.me. He's continued to work on his programming skills in online courses, and has built this digital gallery website to showcase Fine Arts students' work. Bravo!
32 of my 50 students completed an anonymous exit survey circulated in March of 2015. After completing the workshops,
- 20 students (63%) found programming less intimidating
- 27 students' (84%) interest in programming increased
- 22 students (69%) used their new skills in personal programming projects
- 11 students (34%) used their new skills in job interviews or at work
- 11 students (34%) used their new skills for research
- only 4 students (13%) did not apply their new skills in any way since the workshops
75% of students rated the workshops “Enjoyable” or “Very Enjoyable”, while 16% thought they were “Okay” and about 9% did not enjoy themselves.
Getting better next time!
About 9% of the students who completed the exit survey indicated they thought the workshops were “Fair” or “Poor”, and “Not Enjoyable”. We want to do better for them next time, and I've collected student and mentor feedback throughout the workshops to improve the workshop quality. I've put together a reflections document which you can check out for more detailed criticism.
I think our primary concern was the timing of the workshops. We were running approximately one per month, as our student volunteers did not have enough time to commit to run them more frequently. We suspect that the large gaps between workshops led to high attrition; students who missed one of the workshops would get lost and not enjoy themselves, despite the best efforts of the mentors to help them catch up. We did assign homework exercises between workshops to keep students' interests up, but only one or two students out of the entire group completed them.
I understand that since our workshops were held, Mako has significantly restructured his curriculum, and holds the sessions over three back-to-back weekends, which wasn't a feasible timeline for our group. In the future, we'd like to hold the workshops closer together, but I don't believe it will be feasible for WiCS Undergrad. These workshops involved well over 40 hours of planning and 30 hours in the classroom; running these over a three week timeline would constitute a part-time job! This is very difficult for full-time students to manage in a volunteer role. Thus, if WiCS runs these workshops again in the future, I think we should significantly reduce their scope, such as just running Sessions 0/1 which are based directly on the Boston Python Workshops' curriculum.
I'd also love to develop or adapt curriculum for intermediate or advanced-level Python Workshops if I get the chance!