[Texas] [python-advocacy] brainstorming new ways to teach Python 101

Brad Allen bradallen137 at gmail.com
Sat Aug 7 18:06:39 CEST 2010

Wow, thanks, Greg and Katherine. The Python Koans will make an
excellent addition to our beginner track. Given the lightness of the
preparation required, hopefully we won't have any difficulty getting
volunteers to run it.

I'm uncertain whether Python Koans could be the first class of the day
for students having zero Python experience. Maybe we still need a
Python 101 to provide a basic orientation. What do you think?  Also,
how much time do you recommend we allot to allow students pass all the

On Fri, Aug 6, 2010 at 10:37 PM, Greg Malcolm <greg at gregmalcolm.com> wrote:
> Hi guys!
> Some info about Python Koans:
> Python Koans sessions are very easy to run. They come in the form of a suite
> of of unit tests that confirm the functionality of Python itself. It starts
> with the extreme basics: Asserts, None, strings, lists, eventually leading
> to more complex subjects such as Generators and Decorators. The tests are
> all initially in a state of not working, or need values filled out, so the
> process of fixing them teaches the student how Python behaves.
> The code for it is all available on both bitbucket and  github:
>   http://bitbucket.org/gregmalcolm/python_koans
>   http://github.com/gregmalcolm/python_koans
> I've run this as a session a couple of times now, once at my local user
> group, and once at PyOhio. Both times it seems to go down pretty well,
> particularly among beginners. My approach is to give a very short talk/demo
> at the beginning explaining the concept of TDD, how it relates to the Koans,
> followed by a quick demo of solving the first couple of problems. From there
> on in most of the work is wondering around the room making sure everyone got
> set up ok and helping anyone who is stuck or has questions. I've brought an
> assistant with me on both occasions.
> As long as the assistant has at least spent a couple of  hours working
> through the koans and knows their way around Python they should be good to
> go. Having more than one assistant for a large audience is not a terrible
> idea.
> It also helps to have the koans available on cd and flash disk if the
> wireless access cannot be relied on.
> On Fri, Aug 6, 2010 at 12:10 PM, Catherine Devlin
> <catherine.devlin at gmail.com> wrote:
>> Sounds intriguing - if you do it, please report back on how it goes.
>> Another possible approach: at PyOhio this year, Greg Malcolm led a session
>> based on the Python Koans.  Greg, do you have any comments about how that
>> went?  Since the Koans are already prepared and the students work through
>> them on their own, you might be able to get somebody to lead it without too
>> much advance work.  The big thing (it seems to me) would be making sure
>> students are getting help to get them over humps, which your circulating
>> instructors could do as with your ticket system.
>> On Thu, Aug 5, 2010 at 11:33 PM, Brad Allen <bradallen137 at gmail.com>
>> wrote:
>>> A couple of days ago we learned that our PyTexas 2010 volunteer teach
>>> Python 101 had to drop out. Since the event is on Aug 28, we don't
>>> have much time to find an instructor, or for that instructor to
>>> prepare. We know students and other beginners are coming, so how can
>>> we avert disaster?
>>> Maybe it's time to come up with a different approach. Having an
>>> instructor speak in front of a class has never sensationally
>>> effective, anyway. Students often have trouble paying attention and
>>> retaining lecture material, even when starting class with the best of
>>> intentions. So why not risk trying something different?
>>> I'd like to call for some new ideas, and to offer one for
>>> consideration. Here goes:
>>> Instead of burdening one volunteer to be the single teacher, let's
>>> schedule one or two hours at the beginning of the day for *all
>>> attendees* to be involved in the Python introduction for beginners.
>>> The entire lot of experienced PyTexas attendees could act as tutors
>>> simultaneously in an ad-hoc arrangement. Sound crazy, a recipe for
>>> chaos? Maybe...but if we could figure out the right structure to make
>>> it effective, everyone would be challenged and have fun.
>>> According to our survey, over half of the respondents are experienced
>>> Python developers, most of whom I think are capable of teaching, if
>>> asked to explain a particular topic or faced with a chance to answer
>>> specific student questions.  Those who can't be bothered to volunteer
>>> can just show up late, but I would expect most of the attendees to
>>> step up to the challenge.
>>> One idea for making this work would be to develop a strategy for
>>> pairing up the students with the teachers who can explain what the
>>> student needs to know. Here's how it might go:
>>> 0. We define a loose curricula in advance, listing all the core
>>> fundamentals a student needs to understand. We can reference the
>>> wealth of existing tutorials to build this curriculum.
>>> 1. This curriculum could be divided up into variously colored paper
>>> tickets, each representing important learning milestones (red tickets
>>> for installation basics, green tickets for how to run scripts, white
>>> tickets for language fundamentals, blue tickets for collections,
>>> etc.).
>>> 2. At the beginning of class, each student would pick up a ticket of
>>> each color for the part they needed to learn.
>>> 3. During class, students raise their hands waving a colored ticket in
>>> the air to attract a tutor to come by and help them learn that
>>> specific curriculum item.
>>> 4. When a student is satisfied they understand that item well enough,
>>> the ticket is given to the tutor to keep, like a trophy.
>>> 5. At the end of class, success is gauged by how many tickets the
>>> students still have. If any are left over, maybe time later in the day
>>> can be found to resolve the remaining tickets.
>>> This plan assumes that all the students bring a laptop, but I am not
>>> sure that is going to be possible. We might have to ask tutors to use
>>> their own laptops for teaching students who don't have one.
>>> _______________________________________________
>>> Advocacy mailing list
>>> Advocacy at python.org
>>> http://mail.python.org/mailman/listinfo/advocacy
>> --
>> - Catherine
>> http://catherinedevlin.blogspot.com/
>> *** PyOhio 2010 * July 31 - Aug 1 * Columbus, OH * pyohio.org ***

More information about the Texas mailing list