Logo     Photos

6 Member(s) Online

PyCon is a 100%
Volunteer-run
Conference Organized by
Members of the
Python
Community.

Site/Questions etc ?

Valid XHTML 1.0 Transitional

Valid CSS!

PyCon 2007 is sponsored
in part by
Zenoss - The Next Step in IT Management Google Microsoft .Net Framework EWT LLC Enthought, Inc. ITA Software
Platinum
Wingware Python IDE Accense Technology, Inc.
Gold
Quality Vision International Inc. MerchantCircle Big Nerd Ranch, Inc. High Speed Rails Canonical ZeOmega -- Open Minds' Open Solutions Open Source Applications Foundation CCP Games Tummy.com - we do linux AG Interactive ActiveState - Dynamic Tools for Dynamic Languages
Silver
Python411 Podcast Series O'Reilly Media, Inc.
Media

Notes for Python Lab Proctors/Organizers

Proctors/Organizers

We need people to help write the problems and unit tests, as well as proctor the event. We need a minimum of 5 proctors, and as many Organizers as we can get to help code problems

  • Doug Napoleone [P, O]
  • Jeff Rush [P, O]

Items Needed

  • Projectors -- Use the ones from the proceeding talks
  • Post-IT(r) Notes (Yellow, hot-pink, blue, green) -- (DougN?)
  • Whiteboard -- (Jeff Rush - plastic static sheets)
  • Dedicated machine/laptop set for presenting code -- need
  • USB drives -- NOPE!

Room/Attendance

If attendance is high enouh we may want to split the lab into two parts. This would allow for two 'presentations' at once. The Ballroom would be best suited for this. The PSF meeting and lack of food will keep attendance down. We might end up having a Python for newbies event occuring at the same time as well. I would like to keep it to less than 50 people (~10% of the con), but we should plan on handling more.

Promotion

There should be a lightning talk on friday (lunch or afternoon?) about the Lab.

Food

The convention will not be supplying food. There will be a 1hour dinner break before the lab. People will be encouraged to go out and get some food. People are allowed to bring in take-out, but delivery take-out will be discouraged. I (Doug) will be getting some take-out pizza and using the hour break to set up.

Group forming

Will partially be determined by attendance. The optimum number of groups is 6 (20-30), but up to 10 would be manageable (40-50). More than that and we should split into two rooms, or two sides with dual presentations (up to 120 people). Keeping the groups small is key (3-5) so that everyone can contribute and learn. To help get balanced groups. We will use post-it notes attached to badges or like name tags to denote role and level of experience:

  • Red - Proctor
  • Blue - Beginner
  • Yellow - Intermediate (because yellow is the most abundant)
  • Orange - Expert

Once formed, groups can write their group name on them. (who says nothing good can come out of those anoying HR sponsored company 'bonding' outings).

Presenting

When the work time is up, OpenSpace rules will be used to determine which groups present on what. The presentations will be given grouped by the problems. Depending on attendance and interest a time limit of 5min will be used for initial presentation and 5-10min for Q&A, with a focus on the Q&A. A group may present on more than one problem, but preference will be given to groups who have yet to present.

To help speed along the presentation/room wide discussion, it would be nice to have a dedicated machine connected to the projector with and IDE set to the proper resolution to easilly read code. This would keep things moving and keep the focus where it belongs. Anyone have a machine to bring to the lab for this use?

The problems

It would be nice to have 10 problems which appear simple on the surface, but are in fact rather difficult; like the classic 'unzip' problem. 5 or so problems will be posted on the Wiki to give attendees a taste of the problems. One should be particularly hard (like the algo used to generate the schedule table). Some should show off corners of the python standard library; like priority queue, bisect, and keyword (?<foo>.*) pattern matching. Others iteration, file parsing, overloading, etc. We should strive for real world problems as much as possible.

Doc tests should be provided for the problems posed. This way people can debug the issues, and it helps to understand the problem. These could be downloaded beforehand? provided on usb drives?

Problems should have 1-3 core concepts. E.g. file parsing using generators. Getting the concepts/features we want to teach will help us form the problems.

    3 File parsing problems (no xml, grammar based, ini, weird-hypothetical legacy app output)
    2 type extension problems (overload __add__, __id__, __cmp__, __int__, __hash__, __call__, etc for dict/sort work)
    1 descriptor based problem (on demand attribute computation, stateful get/set)
    1 decorator/generator problem
    1 regexp problem w/ keyword grouping
    what else? 
Content Last Modified: February 20, 2007, at 10:50 PM