Presenting a Solid Tutorial at PyCon
Proposals for tutorials at PyCon 2009 are now being accepted through October 31st.
Due to many projects I have going on right now I probably won't be able to propose a tutorial myself but I thought I'd share some thoughts from last year when Feihong Hsu and I presented Secrets of the Framework Creators.
Here's what went well...
- All our materials were available on disk. We had flash drives and CDRs and we actually had to use them because the Internet was very spotty. We didn't really need people to install anything but in case of this you should think of making a folder with everything they need. Or, you could ask Titus about his grand plan to run a server at the hotel for easy_install to use.
- Every concept was documented and laid out in a logical structure for attendees to follow during or after the tutorial (see link above). This was mostly Feihong's doing and I didn't think it would be so crucial to success but it was. We had several people comment afterwards that it was the most organized tutorial they had attended. Also, this format enables people to go more in-depth after the tutorial is over.
- We finished ahead of schedule. This was probably just luck but we did make an effort to time out what it would take us to complete the tutorial. We also were conscious during discussions to keep things moving along. In fact, we were so worried about running over time that we only focused on a small sampling of what we had planned for the tutorial. Since we finished early we then held a vote for what sections to go back into. By the end we had gotten through all but one or two sections (IIRC).
- One person demo'd code, the other talked. This is a typical format and I think it works well. It took some practice to get right though. When two people do this it takes pressure off the one demoing and allows the speaker to think about what the audience needs to know, thus providing a good overview of what's happening.
- We took breaks on time. Breaks are important! It's also important to follow the schedule so that everyone gets a cookie.
Here's what could have gone better...
- We should have burned more CDRs! Have at least 20 CDRs on hand with the materials, the more the better.
- The video didn't turn out too well. I only glanced at the video footage but I think it would be hard to follow as a standalone tutorial. Mainly this was because the audio was recorded poorly. We also only had one mic to share between the both of us so there were a few non-sensical soundbites. We mentioned this to the committee afterwards so hopefully it will be addressed next year.
- Not everyone reads your "prerequisites." We actually planned for this and allowed for some voting like "who here is not familiar with pdb?" Then we did a quick intro on it. All in all I think we were lucky — no one seemed to get stuck — but we probably could have planned for more of those mini-intros if needed.
It was fun. Plus, you get paid!! :) I'd highly recommend giving a tutorial of your own. There's even a page on ideas for tutorials if you can't think of one.

Re: Presenting a Solid Tutorial at PyCon
posted by Feihong Hsu on Friday Sep 26th, 2008 at 5:09p.m.
This was nice rundown of the issues we ran into while delivering last year's tutorial. I would like to comment a little on what we did right/wrong during the process of preparing the tutorial.
What we did right:
- We held a live rehearsal, with real students, who came from a mix of backgrounds. We basically did the whole tutorial, except for free and not at PyCon. Not everyone will have this luxury, but the feedback we got from this was incredibly valuable.
- We met fairly regularly and did it bit by bit. We didn't cram all the work into a few really long sessions. If we had, we would've come up the same basic material but it would've been way less organized. The meetings weren't necessarily productive in the normal sense, since we hardly ever got much writing done. But they helped stimulate the work that we did between meetings, and helped us stay on track.
- We met face to face, instead of just chatting on IM. This was really important, I think.
What we could've done better:
- I think the way we presented code could've been better. We should've taken advantage of basic presentation techniques like zooming, highlighting, and annotation (it's super easy once you figure it out). I think we did a pretty good job, actually. But doing this would've taken the quality of our presentation up to another level.
- Typing stuff out all the time for the interactive interpreter is a bit of a drain on your concentration. In a two-man tutorial it can work, but if it's just you then you definitely want to automate parts of the interactive session. That's kinda what Pete Fein did at the previous ChiPy meeting, where he just gave the whole presentation through a "simulated" interactive interpreter. He also obviously didn't make any distracting typos when doing it this way.
Re: Presenting a Solid Tutorial at PyCon
posted by Kumar McMillan on Friday Sep 26th, 2008 at 5:12p.m.
Ah, yes, agreed. I knew I was forgetting some things.
Re: Presenting a Solid Tutorial at PyCon
posted by Matt Wilson on Sunday Sep 28th, 2008 at 2:37p.m.
thanks for mentioning this. I think I'll try to put something together about how great class decorators are.
Re: Presenting a Solid Tutorial at PyCon
posted by Marty Alchin on Monday Oct 13th, 2008 at 10:23a.m.
Thanks Kumar, this was a very informative rundown. I'm considering offering a tutorial for 2009, but I hadn't attended any in 2008, so I was definitely looking for something like this help get a feel for what I'd be in for.