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
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!!”
Student projects
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!
Survey results
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!