I'm not a huge proponent of TDD, but I went through a Ruby/Rails<br>course where the tests were written for us and we learned by writing<br>the code to satisfy them. It actually turned out to be a lot of fun and<br>I learned a lot about Ruby in the process. Though, it must, of course,<br>
be emphasized that test-passing code hardly constitutes feature<br>complete code.<br><br><div class="gmail_quote">On Tue, Oct 5, 2010 at 12:36 PM, jim <span dir="ltr"><<a href="mailto:jim@systemateka.com">jim@systemateka.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><br>
I love the idea of little tests, maybe very small<br>
(fifteen-minute) feature-specific hands-on exercises<br>
and maybe some alternate problems that are meatier<br>
(I'm not much into games; I like the idea of working<br>
with third-party modules).<br>
<div><div></div><div class="h5"><br>
<br>
<br>
On Tue, 2010-10-05 at 12:22 -0700, Laura Khalil wrote:<br>
> Hey Adit,<br>
><br>
><br>
> I took Dan's class when he just got on board (over a year ago) and<br>
> really enjoyed it. I haven't been back in an age, but glad to hear<br>
> you're thinking of keeping it alive.<br>
><br>
><br>
> One thing about Invent with Python: Al does a great job of giving an<br>
> overview of Python. However, the book is written for kids, so<br>
> everything is spelled out -- there's little to challenge the adult<br>
> user to try and figure things out on his own. Personally, I find this<br>
> critical to my understanding of a programming language.<br>
><br>
><br>
> I still think it's a great book, but may be better served if it could<br>
> be supplemented with test questions/homework problems to apply what's<br>
> learned.<br>
><br>
><br>
> Laura<br>
><br>
> On Tue, Oct 5, 2010 at 11:36 AM, aditya bhargava<br>
> <<a href="mailto:aditya@wefoundland.com">aditya@wefoundland.com</a>> wrote:<br>
> Mark himself has said that Dive Into Python has become<br>
> outdated and he hasn't had time to update it. I was thinking<br>
> of going with Al's book for this class. Game dev looks like a<br>
> popular way of getting into coding and I think it's because of<br>
> the payoff at the end where you get to play your own game. I<br>
> looked over the book and it has the kind of projects that<br>
> people would sincerely enjoy working on. Overall I think we<br>
> will have the most fun with that book.<br>
><br>
> I'm picturing the class as a beginner's intro to programming,<br>
> with Python as the language of choice and Invent With Python<br>
> as the book of choice. I'm down for running the classes. If<br>
> anyone else is interested in tag-teaming it, or if people want<br>
> to come and talk about specialized topics intermittently, I<br>
> would be down for that too.<br>
><br>
> Daniel, I have questions for you about what you've covered so<br>
> far...maybe we should take that conversation off the NB<br>
> mailing list?<br>
><br>
><br>
> Adit<br>
><br>
><br>
><br>
><br>
> On Tue, Oct 5, 2010 at 11:06 AM, jim <<a href="mailto:jim@systemateka.com">jim@systemateka.com</a>><br>
> wrote:<br>
><br>
> Many thanks.<br>
><br>
><br>
><br>
> On Tue, 2010-10-05 at 10:21 -0700, Daniel C.<br>
> Silverstein wrote:<br>
> > The examples in Dive Into Python are needlessly<br>
> complex, and, in some<br>
> > cases, hopelessly outdated. Also, like Think<br>
> Python, I find the order<br>
> > of topics to be questionable.<br>
> ><br>
> > Zed Shaw has an amusing and vitriolic rant re: Dive<br>
> Into Python here:<br>
> > <a href="http://oppugn.us/posts/1272050135.html" target="_blank">http://oppugn.us/posts/1272050135.html</a><br>
> > I don't necessarily agree with the entire rant, but<br>
> I agree with the<br>
> > spirit of it.<br>
> ><br>
> > (Dan)<br>
> ><br>
> > On Tue, Oct 5, 2010 at 10:15 AM, jim<br>
> <<a href="mailto:jim@systemateka.com">jim@systemateka.com</a>> wrote:<br>
> > ><br>
> > > I'd love to know your take on Dive into Python.<br>
> > > Can you summarize?<br>
> > ><br>
> > ><br>
> > > On Tue, 2010-10-05 at 09:30 -0700, Daniel C.<br>
> Silverstein wrote:<br>
> > >> I should point out that, over time, I became<br>
> dissatisfied with Think<br>
> > >> Python and Dive into Python. I have not used<br>
> Al's book so I can't<br>
> > >> comment on it for good or bad. More recently<br>
> I've been using the<br>
> > >> Google Python Class curriculum available here:<br>
> > >><br>
> <a href="http://code.google.com/edu/languages/google-python-class/" target="_blank">http://code.google.com/edu/languages/google-python-class/</a><br>
> > >><br>
> > >> (Dan)<br>
> > >><br>
> > >> On Tue, Oct 5, 2010 at 8:13 AM, jim<br>
> <<a href="mailto:jim@well.com">jim@well.com</a>> wrote:<br>
> > >> ><br>
> > >> > The Monday night Python class began as a<br>
> SF-LUG Python<br>
> > >> > study group with Asheesh as mentor. Asheesh<br>
> left the<br>
> > >> > region to set up <a href="http://openhatch.org" target="_blank">openhatch.org</a> and Daniel took<br>
> over,<br>
> > >> > formalizing the meeting somewhat as a class<br>
> with teacher,<br>
> > >> > and has hung in there for over a year.<br>
> > >> > You can change the approach as you see fit.<br>
> You might<br>
> > >> > take it on with someone else to share the<br>
> mentoring or<br>
> > >> > lecture role or revert to study group format by<br>
> reducing<br>
> > >> > the role of the mentor or whatever. If you<br>
> share the role,<br>
> > >> > you have the plus side of better continuity<br>
> (each mentor<br>
> > >> > can take a break) but the with price of keeping<br>
> in sync<br>
> > >> > with each other. There's at least one other NB<br>
> member<br>
> > >> > who's got very good Python skills with an<br>
> aptitude for<br>
> > >> > teaching.<br>
> > >> ><br>
> > >> > I believe there are two main aspects to<br>
> support:<br>
> > >> > * provide real-world, simple examples that<br>
> demand that<br>
> > >> > attendees think out the problem solution in<br>
> terms of<br>
> > >> > Python language features and Pythonic<br>
> techniques.<br>
> > >> > * accommodate stone beginners and also people<br>
> who are<br>
> > >> > approaching intermediate levels. The Dive into<br>
> Python<br>
> > >> > book is available on line and might work for<br>
> both<br>
> > >> > groups. Al Sweigart's book, Invent Your Own<br>
> Computer<br>
> > >> > Games with Python, is currently in the Turing<br>
> room<br>
> > >> > and I believe has been used in the Python<br>
> class; it's<br>
> > >> > certainly suitable for beginners and to some<br>
> degree<br>
> > >> > to extending Python skills. The book that<br>
> Asheesh<br>
> > >> > first chose as a basis for the group is Python<br>
> for<br>
> > >> > Software Design: How to Think Like a Computer<br>
> > >> > Scientist and for a while, at least, Daniel<br>
> stuck<br>
> > >> > with it.<br>
> > >> ><br>
> > >> > <a href="http://diveintopython.org/" target="_blank">http://diveintopython.org/</a><br>
> > >> > <a href="http://inventwithpython.com/" target="_blank">http://inventwithpython.com/</a><br>
> > >> > <a href="http://www.greenteapress.com/thinkpython/" target="_blank">http://www.greenteapress.com/thinkpython/</a><br>
> > >> ><br>
> > >> > (my opinions: ) I and a few others have had<br>
> some<br>
> > >> > objections to parts of the Think Python text.<br>
> I'd not use<br>
> > >> > it in favor of Al's book and Dive into Python.<br>
> > >> > I think sticking to the current schedule<br>
> (Monday<br>
> > >> > evenings from 6:30 to 8:00) is important.<br>
> > >> > There are several Python groups in the bay<br>
> area, and<br>
> > >> > one or more of their members might be willing<br>
> to share<br>
> > >> > the leader role or come in for an occasional<br>
> lecture or<br>
> > >> > point you to examples at times you find your<br>
> own well dry.<br>
> > >> ><br>
> > >> > <a href="http://www.pygamesf.org/" target="_blank">http://www.pygamesf.org/</a><br>
> > >> > <a href="http://www.pywebsf.org/" target="_blank">http://www.pywebsf.org/</a><br>
> > >> > <a href="http://www.baypiggies.net/" target="_blank">http://www.baypiggies.net/</a><br>
> > >> ><br>
> > >> ><br>
> > >> ><br>
> > >> ><br>
> > >> > On Mon, 2010-10-04 at 23:56 -0700, aditya<br>
> bhargava wrote:<br>
> > >> >> I have a fair amount of experience in the<br>
> language, but I've never<br>
> > >> >> been to one of these classes. What are they<br>
> usually like? I can<br>
> > >> >> volunteer to make up cheat sheets or talk<br>
> about specialized topics if<br>
> > >> >> there's interest in that. Off the top of my<br>
> head, I could talk about:<br>
> > >> >><br>
> > >> >><br>
> > >> >> - scientific computing in Python<br>
> > >> >> - working with Django<br>
> > >> >> - writing modules in C++ using Boost::Python<br>
> and other alternatives<br>
> > >> >><br>
> > >> >><br>
> > >> >><br>
> > >> >><br>
> > >> >> Adit<br>
> > >> >><br>
> > >> >><br>
> > >> >><br>
> > >> >><br>
> > >> >> On Mon, Oct 4, 2010 at 10:11 PM, Daniel C.<br>
> Silverstein<br>
> > >> >> <<a href="mailto:cubes@ghosthacked.net">cubes@ghosthacked.net</a>> wrote:<br>
> > >> >> Howdy,<br>
> > >> >><br>
> > >> >> Would anyone be interested in taking<br>
> over teaching Python<br>
> > >> >> class at<br>
> > >> >> Noisebridge going forward? Python is<br>
> one of the longest<br>
> > >> >> running<br>
> > >> >> classes at Noisebridge, and I've<br>
> personally been teaching it<br>
> > >> >> for the<br>
> > >> >> better part of the last year and a<br>
> half. I think it may be<br>
> > >> >> time for<br>
> > >> >> me to move on to other pursuits, but<br>
> I'd rather not see the<br>
> > >> >> class die.<br>
> > >> >> Historically, Python class has been<br>
> on Monday evenings from<br>
> > >> >> 6:30 to<br>
> > >> >> 8:00, but if anyone is interested in<br>
> teaching it, I'm sure<br>
> > >> >> he/she<br>
> > >> >> would be welcome to reschedule.<br>
> > >> >><br>
> > >> >> (Dan)<br>
> > >> >><br>
> _______________________________________________<br>
> > >> >> Noisebridge-discuss mailing list<br>
> > >> >><br>
> <a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>
> > >> >><br>
> <a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss" target="_blank">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>
> > >> >><br>
> > >> >><br>
> > >> >><br>
> > >> >> --<br>
> > >> >> <a href="http://wefoundland.com" target="_blank">wefoundland.com</a><br>
> > >> >><br>
> _______________________________________________<br>
> > >> >> Noisebridge-discuss mailing list<br>
> > >> >> <a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>
> > >> >><br>
> <a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss" target="_blank">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>
> > >> ><br>
> > >> ><br>
> > >> _______________________________________________<br>
> > >> Noisebridge-discuss mailing list<br>
> > >> <a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>
> > >><br>
> <a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss" target="_blank">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>
> > ><br>
> > ><br>
><br>
><br>
><br>
><br>
><br>
><br>
> --<br>
> <a href="http://wefoundland.com" target="_blank">wefoundland.com</a><br>
><br>
> _______________________________________________<br>
> Noisebridge-discuss mailing list<br>
> <a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>
> <a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss" target="_blank">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>
><br>
><br>
><br>
<br>
_______________________________________________<br>
Noisebridge-discuss mailing list<br>
<a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>
<a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss" target="_blank">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>
</div></div></blockquote></div><br>