Yet another Python textbook

Pavel Solin solin.pavel at
Tue Nov 20 09:02:15 CET 2012

Hi Ian,
  thank you for your comments.

On Mon, Nov 19, 2012 at 11:46 PM, Ian Kelly <ian.g.kelly at> wrote:

> On Sun, Nov 18, 2012 at 10:30 PM, Pavel Solin <solin.pavel at>
> wrote:
> > I would like to introduce a new Python textbook
> > aimed at high school students:
> >
> >
> >
> > The textbook is open source and its public Git
> > repository is located at Github:
> >
> > git at
> >
> > 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.


> Cheers,
> Ian

Pavel Solin
Associate Professor
Applied and Computational Mathematics
University of Nevada, Reno
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list