Yet another Python textbook
solin.pavel at gmail.com
Tue Nov 20 09:02:15 CET 2012
thank you for your comments.
On Mon, Nov 19, 2012 at 11:46 PM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
> On Sun, Nov 18, 2012 at 10:30 PM, Pavel Solin <solin.pavel at gmail.com>
> > 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:
> > git at 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
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
> 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.
Applied and Computational Mathematics
University of Nevada, Reno
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list