Hi Ian, thank you for your comments.
On Mon, Nov 19, 2012 at 11:46 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Sun, Nov 18, 2012 at 10:30 PM, Pavel Solin <solin.pa...@gmail.com> > wrote: > > I would like to introduce a new Python textbook > > aimed at high school students: > > > > http://femhub.com/textbook-python/. > > > > The textbook is open source and its public Git > > repository is located at Github: > > > > g...@github.com:femhub/nclab-textbook-python.git > > > > Feedback and contributions are very much > > welcome, every contributor becomes automatically > > a co-author. > > First impression: I'm opening up the book and reading the > introduction, and I get to section 1.6, and the very first code > example given is: > > >>> print "Hello, World!" > :) > > A fine tradition to be sure, but I have to say that I'm a little > disappointed that a new textbook on Python being written in 2012 is > focused squarely on Python 2, especially when I just read on the > previous page that Python 3 was released in 2008. Is there any work > underway get Python 3 into NCLab? > There is an ongoing discussion but we are not sure. Are there any reasons except for the print () command and division of integers? > > The issue comes up again four pages later in section 2.4, when > division is being demoed, and the text takes a page-and-a-half detour > to caution about the use of floor division for expressions like: > > >>> 33 / 6 > > If the book were teaching Python 3, then this warning would be > unnecessary, since division in Python 3 is *automatically* true > division, unless you go out of your way to invoke floor division by > using the special // operator. I think that the earliness and > frequency that these differences arise underscore the point that it > would be best if the book could simply be teaching Python 3 to start > with. > Perhaps you are right. Is there any statistics of how many Python programmers are using 2.7 vs. 3? Most of people I know use 2.7. > > Getting off that soapbox and moving along, I notice that on pages > 20-22 there are some examples by way of comparison that are written in > C, which makes me wonder what audience this textbook is really > intended for. The previous pages and references to Karel have given > me the impression that this is geared toward beginning programmers, > who most likely are not familiar with C. That's exactly right. Unfortunately, many high school teachers are using C++ to teach programming to complete beginners. This comment is for them. It can be removed, you can do it if you like. The code is on Github. > The most troublesome is the > last of these examples, which is led up to with this text: > > The asterisks in the code below are pointers, an additional > programming concept that one needs to learn and utilize here: > > This seems to suggest that the reader should stop reading here and do > a Google search on pointers, in order to understand the example. > Since this is not a textbook on C, and Python has no concept of > pointers at all, doing this would be a complete waste of the reader's > time. > > Skimming through a few more chapters, I don't see anything else that > sets my spidey sense tingling. I hope that what I've written above > gives you some things to consider, though. > Thank you once more for the comments. Pavel > > Cheers, > Ian > -- Pavel Solin Associate Professor Applied and Computational Mathematics University of Nevada, Reno http://hpfem.org/~pavel
-- http://mail.python.org/mailman/listinfo/python-list