[Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-14 Thread Tamar Osher

Hello!  I have finished reading some Python tutorials.  My favorite tutorial is 
the official tutorial at Python.org.

I
 am hoping to find a professionally designed, serious, university level book 
(with exercises, with 
a learning disc, and answers, and an elaborately helpful website) that will 
carefully and surely guide me through 
learning computer programming with Python version 3.  I want to be lifted up 
from a baby-level to an intermediate 
level.

I
 don't want to spend a lot of time casually browsing through the 
websites, trying out different things.  I am in a rush to become a 
Python expert, I need a job!  I enjoy computer programming.  Python is my only 
programming language.

A note to Python Teachers:
 I downloaded Python version 3.2.2 on my computer.  Most Python books and 
tutorials are several years old, for older, outdated versions.  My learning 
Python got off to a slow start: Initially, I had spent over a week trying to 
figure out the (version 2) tutorial for "Hello, World!", and the print/print() 
situation.
 Today, there is a huge and growing number of online Python tutorials and 
websites.  My request is that the list of recommended tutorials be revised and 
updated.  There is a sizable amount of learning and tutorial info at Python.org 
that seems to be valuable historical information rather than 
urgent-read-now-tutorials for new beginning programmers.  For instance, there 
are some very well written Python tutorials from years 2009, 2007, and 2005.  
An idea: Delete all references to tutorials that are not version 2 or 3.  And 
clearly label all the well-written version 2 tutorials, as being outdated 
version 2.
 For me, learning computer programming is easy, so far.  What is difficult 
is finding the proper tutorials, and learning how to manage the difference 
between version 3.2.2 and older versions.  For someone new to programming, the 
difference between version 3.2.2 and the older versions is enormous.  (I have a 
background as a professional classroom teacher.)

I am very eager to get kind help and wise counsel from others.  If I need to 
install install Python version 2, buy a version 2 university-level book, read 
some version 2 tutorials, and do some version 2 exercises, please let me know.  
I want to quickly move myself from a baby-level to a capable, 
intermediate-level Python programmer.

Please contact me when you have time.  I am eager to connect with everyone and 
hear each person's comments.  Have a GREAT day!
 
>From Your Friend: Tamar Osher
Skype: tamarosher
Email: emeraldoff...@hotmail.com
Message Phone: 011- 1- 513-252-2936
www.HowToBeGifted.com - marketing communication, web design, and much more





  ___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-15 Thread Alan Gauld

On 15/02/12 02:16, Tamar Osher wrote:


I am hoping to find a professionally designed, serious, university level
book (with exercises, with a learning disc, and answers, and an
elaborately helpful website) that will carefully and surely guide me
through learning computer programming with Python version 3. I want to
be lifted up from a baby-level to an intermediate level.


I don;t know about a CD etc but its a good book:

Programming in Python 3 by Summerfield.

And as a general intermediate book I like

Programming Python by Lutz (not in v3 yet but as an
intermediate programmer that won't make any difference
to you, your past worrying about that)


I don't want to spend a lot of time casually browsing through the
websites, trying out different things.


A pity, its the best way to learn.

> I am in a rush to become a Python expert, I need a job!

Go write lots of code.


I enjoy computer programming. Python is my only programming language.


To get and keep a job you will need more than one.
As a minimum you will probably need SQL and nowadays
at least some JavaScript will be useful. And an OS shell
language would be useful too. As a minimum.


A note to Python Teachers:
I downloaded Python version 3.2.2 on my computer. Most Python books and
tutorials are several years old, for older, outdated versions.


Yes, because to produce them takes a lot of time. And most online 
tutorials are done by volunteers with another lifew - the one that earns 
them money. So they can't write tutorials as fast as the language 
evolves. Or they only have time to write a tutorial once, not to update 
it. The good news is that Python is fairly stable and most things still 
work even from version 1.



learning Python got off to a slow start: Initially, I had spent over a
week trying to figure out the (version 2) tutorial for "Hello, World!",
and the print/print() situation.


Really? If you had asked here. or even read the v3 documentation you 
would have had print()  explained in great detail.



Today, there is a huge and growing number of online Python tutorials and
websites. My request is that the list of recommended tutorials be
revised and updated. There is a sizable amount of learning and tutorial
info at Python.org that seems to be valuable historical information
rather than urgent-read-now-tutorials for new beginning programmers.


Remember that many - most? - professional Python programmers are still 
using Python v2 not v3. There are still some critical third party 
libraries to be ported to v3. It is getting better but we are not there 
yet. At the very least they are maintaining v2 code. I use both versions 
but only about 20-25% of my time is spent in v3. v2 is not only of 
"historical" interest, its what the majority of Python code is written 
in, even today.



instance, there are some very well written Python tutorials from years
2009, 2007, and 2005. An idea: Delete all references to tutorials that
are not version 2 or 3.


v1 Python is possibly a valid point. But most v1 tutorials are still 
valid in v2, there was much less change from v1 to v2.



And clearly label all the well-written version 2 tutorials, as

> being outdated version 2.

Who determines what is "well written"? And if a tutorial is based on 
v2.7 is it really outdated?



For me, learning computer programming is easy, so far.


That's good, so you will have realized that the language, and especially 
the language version is largely irrelevant. What is important is 
structure, algorithm, data and I/O.



What is difficult is ...learning how to manage the
difference between version 3.2.2 and older versions.


No, that's trivially easy. If you think that's difficult then you 
haven't begun to understand computer science. I strongly suggest you 
search for and read the classic paper by Fred Brooks called "No silver 
bullet"
There he describes the "essential" problems at the heart of programming 
and why there are no easy answers. Languages included.



For someone new to programming, the difference between version 3.2.2

> and the older versions is enormous.

I agree and thats why I still tend to recommend a newcomer stick to v2 
for now. There are more tutorials and they are more mature and there are 
more practitioners using it than v3. All of which makes it easier to get 
answers for v2 than for v3. The situation is changing but v3 is not 
mainstream yet.



please let me know. I want to quickly move myself from a baby-level to a
capable, intermediate-level Python programmer.


It depends on your expectations but the quickest way to get competent in 
any programming language is through use. Once you have written several 
tens of thousands of lines of code you will be well on your way. But 
that will take quite a few months and that may not align with your 
expectations.


Reading books will teach you the theory (but for that you would be 
better off reading books like The Structure and Interpretation of 
Computer Programs (aka SICP) by Suss

Re: [Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-15 Thread wesley chun
tooting my own horn, http://corepython.com gets good reviews too. however,
it does target existing programmers who want to learn Python as quickly and
as comprehensively as possible. it's not a good book if you're a beginner
to programming or are looking for a pure reference like PER or Nutshell.

if you really need a learning disc, a subset of my book and the slides i
use to teach with can be found in the Python Fundamentals DVD that i
authored as well, however it is *not* a "showmedo" video of Python hacking.
rather, it's a subset of my lectures that come from my Python courses.

i'm also book-agnostic but am concerned that readers get the right book for
their needs, so i would be glad to recommend other books outside of my own.

cheers,
--wesley



On Wed, Feb 15, 2012 at 1:28 AM, Alan Gauld wrote:

> On 15/02/12 02:16, Tamar Osher wrote:
>
>  I am hoping to find a professionally designed, serious, university level
>> book (with exercises, with a learning disc, and answers, and an
>> elaborately helpful website) that will carefully and surely guide me
>> through learning computer programming with Python version 3. I want to
>> be lifted up from a baby-level to an intermediate level.
>>
>
> I don;t know about a CD etc but its a good book:
>
> Programming in Python 3 by Summerfield.
>
> And as a general intermediate book I like
>
> Programming Python by Lutz (not in v3 yet but as an
> intermediate programmer that won't make any difference
> to you, your past worrying about that)
>
>
>  I don't want to spend a lot of time casually browsing through the
>> websites, trying out different things.
>>
>
> A pity, its the best way to learn.
>
>
> > I am in a rush to become a Python expert, I need a job!
>
> Go write lots of code.
>
>
>  I enjoy computer programming. Python is my only programming language.
>>
>
> To get and keep a job you will need more than one.
> As a minimum you will probably need SQL and nowadays
> at least some JavaScript will be useful. And an OS shell
> language would be useful too. As a minimum.
>
>
>  A note to Python Teachers:
>> I downloaded Python version 3.2.2 on my computer. Most Python books and
>> tutorials are several years old, for older, outdated versions.
>>
>
> Yes, because to produce them takes a lot of time. And most online
> tutorials are done by volunteers with another lifew - the one that earns
> them money. So they can't write tutorials as fast as the language evolves.
> Or they only have time to write a tutorial once, not to update it. The good
> news is that Python is fairly stable and most things still work even from
> version 1.
>
>
>  learning Python got off to a slow start: Initially, I had spent over a
>> week trying to figure out the (version 2) tutorial for "Hello, World!",
>> and the print/print() situation.
>>
>
> Really? If you had asked here. or even read the v3 documentation you would
> have had print()  explained in great detail.
>
>
>  Today, there is a huge and growing number of online Python tutorials and
>> websites. My request is that the list of recommended tutorials be
>> revised and updated. There is a sizable amount of learning and tutorial
>> info at Python.org that seems to be valuable historical information
>> rather than urgent-read-now-tutorials for new beginning programmers.
>>
>
> Remember that many - most? - professional Python programmers are still
> using Python v2 not v3. There are still some critical third party libraries
> to be ported to v3. It is getting better but we are not there yet. At the
> very least they are maintaining v2 code. I use both versions but only about
> 20-25% of my time is spent in v3. v2 is not only of "historical" interest,
> its what the majority of Python code is written in, even today.
>
>
>  instance, there are some very well written Python tutorials from years
>> 2009, 2007, and 2005. An idea: Delete all references to tutorials that
>> are not version 2 or 3.
>>
>
> v1 Python is possibly a valid point. But most v1 tutorials are still valid
> in v2, there was much less change from v1 to v2.
>
>
>  And clearly label all the well-written version 2 tutorials, as
>>
> > being outdated version 2.
>
> Who determines what is "well written"? And if a tutorial is based on v2.7
> is it really outdated?
>
>
>  For me, learning computer programming is easy, so far.
>>
>
> That's good, so you will have realized that the language, and especially
> the language version is largely irrelevant. What is important is structure,
> algorithm, data and I/O.
>
>  What is difficult is ...learning how to manage the
>>
>> difference between version 3.2.2 and older versions.
>>
>
> No, that's trivially easy. If you think that's difficult then you haven't
> begun to understand computer science. I strongly suggest you search for and
> read the classic paper by Fred Brooks called "No silver bullet"
> There he describes the "essential" problems at the heart of programming
> and why there are no easy answers. Languages included.
>
>
>  For

Re: [Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-15 Thread leam hall
I will have to agree with both Wes and Alan, they provide great
resources. However, the issue you will face is three-fold. You need
to:

1. Write lots of good code.
2. Write lots more good code.
3. Show a whole lot of good code you've written.

If you want to program professionally I suggest getting a job in
computers that is near where you want to be. Develop your programming
skills and your work reputation at the same time. Your porfolio of
lots of good code will require more than one language, software
lifecycle and version control, specification writing,
etc...etc...etc...

To write good code you need books, experience, and lots of critical
review. Otherwise you'll be writing lots of bad code that won't get
you anywhere. Feedback is critical to growth.

Leam

-- 
Mind on a Mission 
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-15 Thread Joel Goldstick
On Wed, Feb 15, 2012 at 7:35 AM, leam hall  wrote:
> I will have to agree with both Wes and Alan, they provide great
> resources. However, the issue you will face is three-fold. You need
> to:
>
> 1. Write lots of good code.
> 2. Write lots more good code.
> 3. Show a whole lot of good code you've written.
>
> If you want to program professionally I suggest getting a job in
> computers that is near where you want to be. Develop your programming
> skills and your work reputation at the same time. Your porfolio of
> lots of good code will require more than one language, software
> lifecycle and version control, specification writing,
> etc...etc...etc...
>
> To write good code you need books, experience, and lots of critical
> review. Otherwise you'll be writing lots of bad code that won't get
> you anywhere. Feedback is critical to growth.
>
> Leam
>
> --
> Mind on a Mission 
> ___
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor

Programming is all about doing it -- over and over.  I think Malcolm
Gladwell proposed that it takes 10,000 hours to get good at anything.
Its great to be smitten, but there is no shortcut.

Aside from Brooks, I really loved reading a two volume set called
Programming Practice by Henry Ledgard.  It was published in 1987, but
its timeless.

These authors don't write 'how to' books on coding, but they get to
the core of the software engineering profession.

-- 
Joel Goldstick
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-15 Thread Brett Ritter
On Wed, Feb 15, 2012 at 7:46 AM, Joel Goldstick
 wrote:
> Programming is all about doing it -- over and over.  I think Malcolm
> Gladwell proposed that it takes 10,000 hours to get good at anything.
> Its great to be smitten, but there is no shortcut.

Jumping in because this is a favorite topic of mine.

The 10,000 hours has been followed-up on a lot, and as a I recall (I'm
no expert) it varies considerably.  Experts (meaning that they have an
intuitive approach to problems) can arise in much less time, while
others (with a rule-based understanding only) can put in far more than
10,000 hours and still not become experts.

What I've found works for me personally is to combine _doing_ (which
is essential and unavoidable) with _variety_ in the tasks and also to
google the heck out of "best practices", "anti-patterns", and "tips"
on the topic.  Make sure to get a feel for the reliability of the
source of these tips, and don't trust them blindly, instead try to
understand them.

For example, there are three levels of progression in handling how
Python uses "self" in objects:

1) This is stupid, other languages are smarter than this.
2) I do it without worrying about it because I'm used to it, but I
don't really get why it works that way.
3) I understand how "obvious" alternatives won't work as Python is
modeled and have come to appreciate the way it works.

You can't jump straight to #3, but if you know it's there you can
regularly poke at the issue as you're otherwise learning (via doing)
and get closer to a higher understanding more quickly than writing
10,000 hours of "To Do" lists will get you there.

Other common enlightenments to strive for:
* I grok list comprehensions
* I understand generators
* I understand decorators
(where understand is more than "can use")

-- 
Brett Ritter / SwiftOne
swift...@swiftone.org
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] specific recommendation for a Python book, to move from baby-level to intermediate-level

2012-02-15 Thread Mark Lawrence

On 15/02/2012 02:16, Tamar Osher wrote:


Hello!  I have finished reading some Python tutorials.  My favorite tutorial is 
the official tutorial at Python.org.

I
  am hoping to find a professionally designed, serious, university level book 
(with exercises, with
a learning disc, and answers, and an elaborately helpful website) that will 
carefully and surely guide me through
learning computer programming with Python version 3.  I want to be lifted up 
from a baby-level to an intermediate
level.

I
  don't want to spend a lot of time casually browsing through the
websites, trying out different things.  I am in a rush to become a
Python expert, I need a job!  I enjoy computer programming.  Python is my only 
programming language.

A note to Python Teachers:
  I downloaded Python version 3.2.2 on my computer.  Most Python books and tutorials 
are several years old, for older, outdated versions.  My learning Python got off to a 
slow start: Initially, I had spent over a week trying to figure out the (version 2) 
tutorial for "Hello, World!", and the print/print() situation.
  Today, there is a huge and growing number of online Python tutorials and 
websites.  My request is that the list of recommended tutorials be revised and 
updated.  There is a sizable amount of learning and tutorial info at Python.org 
that seems to be valuable historical information rather than 
urgent-read-now-tutorials for new beginning programmers.  For instance, there 
are some very well written Python tutorials from years 2009, 2007, and 2005.  
An idea: Delete all references to tutorials that are not version 2 or 3.  And 
clearly label all the well-written version 2 tutorials, as being outdated 
version 2.
  For me, learning computer programming is easy, so far.  What is difficult 
is finding the proper tutorials, and learning how to manage the difference 
between version 3.2.2 and older versions.  For someone new to programming, the 
difference between version 3.2.2 and the older versions is enormous.  (I have a 
background as a professional classroom teacher.)

I am very eager to get kind help and wise counsel from others.  If I need to 
install install Python version 2, buy a version 2 university-level book, read 
some version 2 tutorials, and do some version 2 exercises, please let me know.  
I want to quickly move myself from a baby-level to a capable, 
intermediate-level Python programmer.

Please contact me when you have time.  I am eager to connect with everyone and 
hear each person's comments.  Have a GREAT day!


From Your Friend: Tamar Osher

Skype: tamarosher
Email: emeraldoff...@hotmail.com
Message Phone: 011- 1- 513-252-2936
www.HowToBeGifted.com - marketing communication, web design, and much more

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


For an unbiased set of book reviews search the book reviews here 
http://accu.org/index.php?module=bookreviews&func=search


--
Cheers.

Mark Lawrence.

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor