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? 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. 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. 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. Cheers, Ian -- http://mail.python.org/mailman/listinfo/python-list