Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-30 Thread Chris Angelico
On Sat, May 4, 2013 at 12:54 AM, TP  wrote:
> Or maybe Think Python. A *lot* drier presentation than Python for Kids --
> after all, the subtitle which I forgot to mention is "How to Think Like a
> Computer Scientist". Newer than Summerfield
> , but only 1/3 the length
> . Since I've only skimmed both I find it hard to recommend one over the
> other.

Many thanks to those who responded.

A decision has been reached, and Think Python is being used. We'll see
how it goes!

I knew I could trust this list for good advice :)

ChrisA
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-03 Thread Ethan Furman

Try

http://inventwithpython.com/

Al Sweigert is the author, and he has three free ebooks there, and you can also purchase the paper versions if you like. 
 Looks like it targets 3.1.


--
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list


Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-03 Thread TP
[Just a note, all the book links in my original post have complete table of
contents listing, so don't just take my word on their suitability.]

Here's some
I missed:

Programming in Python 3, 2nd Edition - Mark Summerfield (Addison-Wesley,
2009) [1a]. Exercises. Solutions available online. At a quick glance I'd
say the exercises are also better for the beginner. Less of a computer
science orientation?

Learning Python, 4th Edition, Mark Lutz (Oreilly,2009) [1]. The 5th edition
[2] is supposed to come out in June. Python 2.6 & 3.x. Has exercises at the
end of every Part and answers in Appendix B. Also has "Test Your Knowledge"
quizzes & answers. 1200+ pages! Too overwhelming for a first Python book?
Ideal for a 2nd or 3rd however.

After seeing your response, I'd say, just one book isn't really going to
work. So I would recommend:

1) Quickly go through Python for Kids. While it may say it's for kids, it
actually covers quite a bit of ground (including writing a game using
tkinter). I doubt it's so easy as to be boring. The lazy can also download
sample code and solutions to the Programming Puzzles from the webpage.

2) Then Summerfield's Programming in Python 3. It has a lot more detail and
also
spends time on the Python Standard Library.

Or maybe Think Python. A *lot* drier presentation than Python for Kids --
after all, the subtitle which I forgot to mention is "How to Think Like a
Computer Scientist". Newer than Summerfield
, but only 1/3 the length
. Since I've only skimmed both I find it hard to recommend one over the
other.

3) Finally, when he *really* wants to learn all the gory details about
Python programming, tackle Learning Python (and by that time hopefully the
5th edition will be out).

Once you've "learned"
P
ython then I would also recommend Programming Python, 4e - Mark Lutz
(Oreilly,2010) [3] for detailed info on using some of the standard modules.
Also Python Cookbook: Recipes for Mastering Python 3 - Beazley & Jone
(OReilly, 2013) [4].

[Off Topic] 

Depending on his age and what else he is learning at school, I also kinda
think NumPy/SciPy/Matplotlib can be very enlightening.

SciPy and NumPy - E. Bressert (O'Reilly, 2013) [5]. A brief overview.

NumPy 1.5 Beginner's Guide - I. Idris (Packt, 2011) [6]

NumPy Cookbook - I. Idris (Packt, 2012) [7]

Already started back in February and ending in a month, there is MIT's free
online
video
edX course "6.00x: Introduction to Computer Science and Programming" [8]
which uses Python 2.7 and the book "Introduction to Computation and
Programming Using Python (Spring 2013 edition)" by John Guttag [9]. This is
also viewable free online if you are registered for the course. Estimated
effort 12 hours/week, eeek!


[1a] http://www.qtrac.eu/py3book.html

[1] http://shop.oreilly.com/product/9780596158071.do

[2] http://shop.oreilly.com/product/0636920028154.do

[3] http://shop.oreilly.com/product/9780596158118.do

[4] http://shop.oreilly.com/product/0636920027072.do

[5] http://shop.oreilly.com/product/0636920020219.do

[6]
http://www.packtpub.com/numpy-1-5-using-real-world-examples-beginners-guide/book

[7] http://www.packtpub.com/numpy-for-python-cookbook/book

[8] https://www.edx.org/courses/MITx/6.00x/2013_Spring/about

[9]
http://mitpress.mit.edu/books/introduction-computation-and-programming-using-python
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-03 Thread Chris Angelico
On Fri, May 3, 2013 at 8:49 PM, Alister  wrote:
> A guy of your abilities & knowledge, why not write your own. you could
> use the experience of teaching your brother to hone it to perfection.
>
> Ok this was slightly tounge in cheek ( but not intended to be in any way
> offensive).  I will now offer to put my money where my mouth is an make a
> contribution if you were to put it up on kickstarter.

Not at all offensive... it just implies that I have time to spend,
during the day, somewhere in between holding down my own full-time job
:) I'm hoping to be involved as little as possible in the day-to-day
of it, though of course I'll be as happy to answer his questions as I
am to answer them here on the list. Also, the suggestion implies that
I'm a Python expert, which isn't exactly true; I actually have not
done many nontrivial Python programs (for instance, I've never used
_any_ of the GUI toolkits available). Hence my hope of finding a book
written by an expert and recommended by experts. :)

ChrisA
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-03 Thread Alister
On Fri, 03 May 2013 00:36:48 +1000, Chris Angelico wrote:

> One of my younger brothers, still school age, is to be studying some
> aspect of computing for the next term or two. I strongly recommended he
> learn Python (it has a bit more future than studying the internals of
> OS/2), and my/his father then asked me what book I'd recommend him to
> study through. I know this has come up a few times, but searching back
> in my emails didn't give a clear answer.
> 
> Whether it's an ebook or in paper doesn't matter, but there need to be
> exercises that the student can perform on his own, and then an external
> tutor (aka my dad) then check up on. Python 3 is a must; preferably
> something designed for 3.3+ as that's what he'll be using. Beyond that,
> I was just asked to recommend "the best", which is unfortunately
> vague... but I gather they'll be deferring to the expertise of the list
> in figuring out what that means :)
> 
> So, within those not-very-many restrictions, what would you all
> recommend? Let's get a nice discussion going and see where it leads us
> (most likely to a resident troll ranting about a favorite topic, but
> hey, maybe Dihedral will come out with some nugget of wisdom for us)!
> 
> Chris Angelico

A guy of your abilities & knowledge, why not write your own. you could 
use the experience of teaching your brother to hone it to perfection.

Ok this was slightly tounge in cheek ( but not intended to be in any way 
offensive).  I will now offer to put my money where my mouth is an make a 
contribution if you were to put it up on kickstarter.



-- 
"Cogito ergo I'm right and you're wrong."
-- Blair Houghton
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-03 Thread Chris Angelico
On Fri, May 3, 2013 at 11:06 AM, TP  wrote:
> Since I've been using Python for years, I've only skimmed new books. 
> Personally, I found the standard Python tutorial [1] (and reading the What's 
> New sections) more than adequate for originally learning Python.
>
> Anyway, given your constraints, here's what I've come up with (stipulating 
> Python 3, limits the number of available books. And requiring exercises is 
> even stricter):

Thanks for the tips, TP! I'll discuss these with the appropriate
people over the weekend. From first glance, this is how they seem to
me:

> Python for Kids - A Playful Introduction to Programming - J. Briggs (No 
> Starch, 2013) [2]. Python 3.2? Not necessarily just for kids but definitely 
> slanted towards younger readers. Has "Programming Puzzles".

Might skip this one. He's already tinkering with his own Linux box, so
I don't think we need to go childish.

> Think Python - A. Downey (O'Reilly, 2012) [3]. For Python 2 & 3. Exercises 
> but no answers? There is also a Python 3 specific version available. Free.

That looks good. Lack of answers isn't a problem; if Dad can't figure
it out, he can always ask me. (But I'm hoping to be involved as little
as possible with the detaily bits.)

> Beginning Python - Using Python 2.6 and Python 3.1 - J. Payne (Wrox, 2010) 
> [4]. Has exercises but... they seem a bit simplistic to me. Answers in 
> Appendix A.

Perhaps, but I'll keep it on the list anyway.

> Head First Python - Barry (OReilly,2011) [5] Python 3. Says for people who 
> already know another language (and I would have to agree with that). 
> Exercises.

Pass on that, then; Python's his first real language study.

> Introduction to Programming Using Python - Y. Liang (Pearson, 2013) [6]. A 
> bit dull looking. Probably a college textbook? Lots of exercises. Author also 
> has similar books on C++ & Java. Expensive.

I'll mention it, but expensive is a downside when there are a number
of free and/or cheap options!

> Ignoring the constraints, here's another one that looks really interesting:
>
> Hello Python - A. Briggs (Manning, 2012) [7]. Python 2 only. Learn by 
> incrementally writing and improving working programs. Less focused on syntax 
> and more on getting the job done. No exercises per se, but since goal is 
> working programs, progress can be still be checked. More about the 
> "batteries" (including somewhat surprisingly pyglet, twisted & django).
>
> "We'll be using the latest version of Python 2, because most of the
> libraries that we'll use in this book don’t yet support Python 3."

I'll avoid that, then; I really don't want to have to get into a
discussion of raw_input() vs input() after he's befuddled himself, nor
do I intend to re-argue Unicode vs bytes!

Many thanks for the suggestions. Was kinda hoping for multiple
people's chimings-in; I know there'll be some strong opinions around
the list... it's what we do best... :)

ChrisA
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Python teaching book recommendations: 3.3+ and with exercises

2013-05-02 Thread TP
On Thu, May 2, 2013 at 7:36 AM, Chris Angelico  wrote:

> One of my younger brothers, still school age, is to be studying some
> aspect of computing for the next term or two. I strongly recommended
> he learn Python (it has a bit more future than studying the internals
> of OS/2), and my/his father then asked me what book I'd recommend him
> to study through. I know this has come up a few times, but searching
> back in my emails didn't give a clear answer.
>
> Whether it's an ebook or in paper doesn't matter, but there need to be
> exercises that the student can perform on his own, and then an
> external tutor (aka my dad) then check up on. Python 3 is a must;
> preferably something designed for 3.3+ as that's what he'll be using.
> Beyond that, I was just asked to recommend "the best", which is
> unfortunately vague... but I gather they'll be deferring to the
> expertise of the list in figuring out what that means :)
>
> So, within those not-very-many restrictions, what would you all
> recommend? Let's get a nice discussion going and see where it leads us
> (most likely to a resident troll ranting about a favorite topic, but
> hey, maybe Dihedral will come out with some nugget of wisdom for us)!
>

Since I've been using Python for years, I've only skimmed new books.
Personally, I found the standard Python tutorial [1] (and reading the
What's New sections) more than adequate for originally learning Python.

Anyway, given your constraints, here's what I've come up with (stipulating
Python 3, limits the number of available books. And requiring exercises is
even stricter):

Python for Kids - A Playful Introduction to Programming - J. Briggs (No
Starch, 2013) [2]. Python 3.2? Not necessarily just for kids but definitely
slanted towards younger readers. Has "Programming Puzzles".

Think Python - A. Downey (O'Reilly, 2012) [3]. For Python 2 & 3. Exercises
but no answers? There is also a Python 3 specific version available. Free.

Beginning Python - Using Python 2.6 and Python 3.1 - J. Payne (Wrox, 2010)
[4]. Has exercises but... they seem a bit simplistic to me. Answers in
Appendix A.

Head First Python - Barry (OReilly,2011) [5] Python 3. Says for people who
already know another language (and I would have to agree with that).
Exercises.

Introduction to Programming Using Python - Y. Liang (Pearson, 2013) [6]. A
bit dull looking. Probably a college textbook? Lots of exercises. Author
also has similar books on C++ & Java. Expensive.

Ignoring the constraints, here's another one that looks really interesting:

Hello Python - A. Briggs (Manning, 2012) [7]. Python 2 only. Learn by
incrementally writing and improving working programs. Less focused on
syntax and more on getting the job done. No exercises per se, but since
goal is working programs, progress can be still be checked. More about the
"batteries" (including somewhat surprisingly pyglet, twisted & django).

From the Preface:

"I thought back to how I first learned to program. I didn't read an
entire programming book from cover to cover and then write a program
after I knew everything there was to know. Instead I started with a
goal, something that I wanted to do, and worked toward it, figuring
things out as I went. I read programming books from time to time,
but really only to figure out the bits I was stuck on. When I was
done, my programs weren't particularly elegant or fast, but they
were mine---I knew how they worked, and they solved a real problem
that I was having."

Page 9:

"We'll be using the latest version of Python 2, because most of the
libraries that we'll use in this book don’t yet support Python 3."

[1] http://docs.python.org/3/tutorial/index.html

[2] http://nostarch.com/pythonforkids

[3] http://www.greenteapress.com/thinkpython/thinkpython.html

[4]
http://www.wrox.com/WileyCDA/WroxTitle/Beginning-Python-Using-Python-2-6-and-Python-3-1.productCd-0470414634.html

[5] http://shop.oreilly.com/product/0636920003434.do

[6]
http://www.pearsonhighered.com/educator/product/Introduction-to-Programming-Using-Python/9780132747189.page

[7] http://www.manning.com/briggs/
-- 
http://mail.python.org/mailman/listinfo/python-list


Python teaching book recommendations: 3.3+ and with exercises

2013-05-02 Thread Chris Angelico
One of my younger brothers, still school age, is to be studying some
aspect of computing for the next term or two. I strongly recommended
he learn Python (it has a bit more future than studying the internals
of OS/2), and my/his father then asked me what book I'd recommend him
to study through. I know this has come up a few times, but searching
back in my emails didn't give a clear answer.

Whether it's an ebook or in paper doesn't matter, but there need to be
exercises that the student can perform on his own, and then an
external tutor (aka my dad) then check up on. Python 3 is a must;
preferably something designed for 3.3+ as that's what he'll be using.
Beyond that, I was just asked to recommend "the best", which is
unfortunately vague... but I gather they'll be deferring to the
expertise of the list in figuring out what that means :)

So, within those not-very-many restrictions, what would you all
recommend? Let's get a nice discussion going and see where it leads us
(most likely to a resident troll ranting about a favorite topic, but
hey, maybe Dihedral will come out with some nugget of wisdom for us)!

Chris Angelico
-- 
http://mail.python.org/mailman/listinfo/python-list