Yet another Python textbook

Pavel Solin solin.pavel at gmail.com
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 gmail.com> wrote:

> On Sun, Nov 18, 2012 at 10:30 PM, Pavel Solin <solin.pavel at 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:
> >
> > 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
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121120/8ce0e9ab/attachment.html>


More information about the Python-list mailing list