I have to admit that when I ran Python Koans at PyOhio I did have to spend a few minutes apiece helping a couple of complete beginners getting started. It was mostly environmental issues, such as getting Python installed, pathed, and running the test suite through the command line. Although I&#39;m not really sure what you can do to get around that kind of thing.<div>
<br></div><div>I guess my conclusion is whatever you run as the first Python 101 tutorial of the day, make sure you have lots of helpers at hand!</div><div><br></div><div>That aside Python Koans has worked fairly well for beginners so far. It does have a bit of a stumbling block in one of the &#39;about_none&#39; exercises where I have explain it on the projector, but the first few tests the user has to fix are as simple as stuff like changing Assert(False) to Assert(True).<br>
<div><div><br></div><div>Regarding session size, I really doubt anyone will get even close to finishing them. Theres a lot of content! So far with Python Koans I have only ran the sessions in 2 hours timeslots but that actually seems to work really well. Many students will continue working on them at home. I kinda did the same thing with the Ruby equivalent that the Python version is based on.</div>
<div><div><div><div><div><br><div class="gmail_quote">On Sat, Aug 7, 2010 at 12:06 PM, Brad Allen <span dir="ltr">&lt;<a href="mailto:bradallen137@gmail.com">bradallen137@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Wow, thanks, Greg and Katherine. The Python Koans will make an<br>
excellent addition to our beginner track. Given the lightness of the<br>
preparation required, hopefully we won&#39;t have any difficulty getting<br>
volunteers to run it.<br>
<br>
I&#39;m uncertain whether Python Koans could be the first class of the day<br>
for students having zero Python experience. Maybe we still need a<br>
Python 101 to provide a basic orientation. What do you think?  Also,<br>
how much time do you recommend we allot to allow students pass all the<br>
koans?<br>
<div><div></div><div class="h5"><br>
On Fri, Aug 6, 2010 at 10:37 PM, Greg Malcolm &lt;<a href="mailto:greg@gregmalcolm.com">greg@gregmalcolm.com</a>&gt; wrote:<br>
&gt; Hi guys!<br>
&gt; Some info about Python Koans:<br>
&gt; Python Koans sessions are very easy to run. They come in the form of a suite<br>
&gt; of of unit tests that confirm the functionality of Python itself. It starts<br>
&gt; with the extreme basics: Asserts, None, strings, lists, eventually leading<br>
&gt; to more complex subjects such as Generators and Decorators. The tests are<br>
&gt; all initially in a state of not working, or need values filled out, so the<br>
&gt; process of fixing them teaches the student how Python behaves.<br>
&gt; The code for it is all available on both bitbucket and  github:<br>
&gt;   <a href="http://bitbucket.org/gregmalcolm/python_koans" target="_blank">http://bitbucket.org/gregmalcolm/python_koans</a><br>
&gt;   <a href="http://github.com/gregmalcolm/python_koans" target="_blank">http://github.com/gregmalcolm/python_koans</a><br>
&gt; I&#39;ve run this as a session a couple of times now, once at my local user<br>
&gt; group, and once at PyOhio. Both times it seems to go down pretty well,<br>
&gt; particularly among beginners. My approach is to give a very short talk/demo<br>
&gt; at the beginning explaining the concept of TDD, how it relates to the Koans,<br>
&gt; followed by a quick demo of solving the first couple of problems. From there<br>
&gt; on in most of the work is wondering around the room making sure everyone got<br>
&gt; set up ok and helping anyone who is stuck or has questions. I&#39;ve brought an<br>
&gt; assistant with me on both occasions.<br>
&gt; As long as the assistant has at least spent a couple of  hours working<br>
&gt; through the koans and knows their way around Python they should be good to<br>
&gt; go. Having more than one assistant for a large audience is not a terrible<br>
&gt; idea.<br>
&gt; It also helps to have the koans available on cd and flash disk if the<br>
&gt; wireless access cannot be relied on.<br>
&gt; On Fri, Aug 6, 2010 at 12:10 PM, Catherine Devlin<br>
&gt; &lt;<a href="mailto:catherine.devlin@gmail.com">catherine.devlin@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Sounds intriguing - if you do it, please report back on how it goes.<br>
&gt;&gt;<br>
&gt;&gt; Another possible approach: at PyOhio this year, Greg Malcolm led a session<br>
&gt;&gt; based on the Python Koans.  Greg, do you have any comments about how that<br>
&gt;&gt; went?  Since the Koans are already prepared and the students work through<br>
&gt;&gt; them on their own, you might be able to get somebody to lead it without too<br>
&gt;&gt; much advance work.  The big thing (it seems to me) would be making sure<br>
&gt;&gt; students are getting help to get them over humps, which your circulating<br>
&gt;&gt; instructors could do as with your ticket system.<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Aug 5, 2010 at 11:33 PM, Brad Allen &lt;<a href="mailto:bradallen137@gmail.com">bradallen137@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; A couple of days ago we learned that our PyTexas 2010 volunteer teach<br>
&gt;&gt;&gt; Python 101 had to drop out. Since the event is on Aug 28, we don&#39;t<br>
&gt;&gt;&gt; have much time to find an instructor, or for that instructor to<br>
&gt;&gt;&gt; prepare. We know students and other beginners are coming, so how can<br>
&gt;&gt;&gt; we avert disaster?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Maybe it&#39;s time to come up with a different approach. Having an<br>
&gt;&gt;&gt; instructor speak in front of a class has never sensationally<br>
&gt;&gt;&gt; effective, anyway. Students often have trouble paying attention and<br>
&gt;&gt;&gt; retaining lecture material, even when starting class with the best of<br>
&gt;&gt;&gt; intentions. So why not risk trying something different?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;d like to call for some new ideas, and to offer one for<br>
&gt;&gt;&gt; consideration. Here goes:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Instead of burdening one volunteer to be the single teacher, let&#39;s<br>
&gt;&gt;&gt; schedule one or two hours at the beginning of the day for *all<br>
&gt;&gt;&gt; attendees* to be involved in the Python introduction for beginners.<br>
&gt;&gt;&gt; The entire lot of experienced PyTexas attendees could act as tutors<br>
&gt;&gt;&gt; simultaneously in an ad-hoc arrangement. Sound crazy, a recipe for<br>
&gt;&gt;&gt; chaos? Maybe...but if we could figure out the right structure to make<br>
&gt;&gt;&gt; it effective, everyone would be challenged and have fun.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; According to our survey, over half of the respondents are experienced<br>
&gt;&gt;&gt; Python developers, most of whom I think are capable of teaching, if<br>
&gt;&gt;&gt; asked to explain a particular topic or faced with a chance to answer<br>
&gt;&gt;&gt; specific student questions.  Those who can&#39;t be bothered to volunteer<br>
&gt;&gt;&gt; can just show up late, but I would expect most of the attendees to<br>
&gt;&gt;&gt; step up to the challenge.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; One idea for making this work would be to develop a strategy for<br>
&gt;&gt;&gt; pairing up the students with the teachers who can explain what the<br>
&gt;&gt;&gt; student needs to know. Here&#39;s how it might go:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 0. We define a loose curricula in advance, listing all the core<br>
&gt;&gt;&gt; fundamentals a student needs to understand. We can reference the<br>
&gt;&gt;&gt; wealth of existing tutorials to build this curriculum.<br>
&gt;&gt;&gt; 1. This curriculum could be divided up into variously colored paper<br>
&gt;&gt;&gt; tickets, each representing important learning milestones (red tickets<br>
&gt;&gt;&gt; for installation basics, green tickets for how to run scripts, white<br>
&gt;&gt;&gt; tickets for language fundamentals, blue tickets for collections,<br>
&gt;&gt;&gt; etc.).<br>
&gt;&gt;&gt; 2. At the beginning of class, each student would pick up a ticket of<br>
&gt;&gt;&gt; each color for the part they needed to learn.<br>
&gt;&gt;&gt; 3. During class, students raise their hands waving a colored ticket in<br>
&gt;&gt;&gt; the air to attract a tutor to come by and help them learn that<br>
&gt;&gt;&gt; specific curriculum item.<br>
&gt;&gt;&gt; 4. When a student is satisfied they understand that item well enough,<br>
&gt;&gt;&gt; the ticket is given to the tutor to keep, like a trophy.<br>
&gt;&gt;&gt; 5. At the end of class, success is gauged by how many tickets the<br>
&gt;&gt;&gt; students still have. If any are left over, maybe time later in the day<br>
&gt;&gt;&gt; can be found to resolve the remaining tickets.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This plan assumes that all the students bring a laptop, but I am not<br>
&gt;&gt;&gt; sure that is going to be possible. We might have to ask tutors to use<br>
&gt;&gt;&gt; their own laptops for teaching students who don&#39;t have one.<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; Advocacy mailing list<br>
&gt;&gt;&gt; <a href="mailto:Advocacy@python.org">Advocacy@python.org</a><br>
&gt;&gt;&gt; <a href="http://mail.python.org/mailman/listinfo/advocacy" target="_blank">http://mail.python.org/mailman/listinfo/advocacy</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; - Catherine<br>
&gt;&gt; <a href="http://catherinedevlin.blogspot.com/" target="_blank">http://catherinedevlin.blogspot.com/</a><br>
&gt;&gt; *** PyOhio 2010 * July 31 - Aug 1 * Columbus, OH * <a href="http://pyohio.org" target="_blank">pyohio.org</a> ***<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div></div></div></div></div></div>