Teaching a Python Bootcamp

This weekend I taught an Intro to Python class on behalf of the Philadelphia Python Users Group (PhillyPUG). I’ve taught this kind of workshop before but a few things made this one different.

I’ve always taught with an amazing group of co-instructors including Dana Bauer, Sarah Gray, Alyssa Batula, and a couple of TAs. This time I had some great TAs (Bennett Colesberry, Gokul Krishnan, and Aditya Natraj), but as lead instructor, I was on my own. I had doubts whether I could do it. There were times when we’d hit references to either more advanced topics in Python, or more abstract concepts in computer science in general, that I wasn’t sure how to explain. The TAs were great support when this happened. I also taught students how to look things up using Python’s extensive and excellent official documentation. That’s not something I’ve done a lot of before but I’m glad I did. I wanted students to learn how to discover new things Python can do and what they can do when they get stuck.

The workshop has always been branded as for “women and their friends” – meaning that men were always welcome but only as guests of women. So our students were mostly female, usually around 80-90%. This time, I experimented with dropping any references to gender in our outreach. The split was pretty much an even 50/50. I like the idea of targeting women just to expose more women to the basics of computer programming, but I also felt like the students were respectful towards one another and no one dominated the conversation.

Regardless of whether the workshops are targeted towards women or all groups, I’m committed to addressing women’s issues when organizing these workshops. Some issues, like providing child care, are things I dream of someday offering. Others are simpler. For example, a few years ago I went to a workshop organized by a women in tech group when I was breastfeeding my son. I asked for breastfeeding/pumping space well in advance and was offered a toilet stall (illegal in Pennsylvania and many other states). I had to fight to explain that I don’t feed my child or prepare his meals in a toilet stall. For events I’ve managed myself, I’ve always ensured, if they ask, that breastfeeding mothers have adequate space to prepare their children’s meals and feed them.

Keeping with the gender conversation – the TAs were all male. One woman was on board but had a last minute conflict. They were great to work with. Something that I didn’t say to them explicitly but I think came across in how we worked together is that we were all equals. I counted on them to help students 1:1 while I was teaching the class, but I also counted on them to fill in gaps when something I was explaining wasn’t entirely clear. I was not afraid of them pointing out errors or gaps in what I was sharing. I’ve been a TA where TAs were told not to do or say anything like this unless absolutely necessary because of the conflict it creates. I took a different approach – I wanted students to see how programmers work together and share knowledge and demonstrate that they trust each other. In the end though, my goal still remains to get more women on board as TAs.

I taught in Python 3 using this curriculum. I spent the past few months porting it from our old curriculum which was in Python 2 and based on the work of the Boston Python group. Python 3 is just recently reaching wide scale adoption. We had some students hit problems in installing and setup, but we were able to work these out. Most tutorials still don’t use it. I had to hunt for some that do. Differences in syntax at this level are few (namely printing and integer division). I did share these differences as they came up, and I think students left with a general understanding of the differences between the two. They also developed a foundation to know that they may encounter code in Python 2 or 3 and understand why it will or will not work in one version or the other.

One last shoutout to Dustin Ingram and PromptWorks for donating the space to hold this workshop.

I’ll close with a little bit of bragging because we deserve it. Here are some comments posted on the workshop’s registration page following the event:

Lots of great discussions. I have a better understanding of lists, tuples, and dictionaries now! Maneesha and the TAs were great at explaining things.

It was an amazing meetup. Learnt a lot. Thank you Maneesha and all the wonderful TA’s. Looking forward for the follow up session.

Teacher and TA’s were top notch!

social