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 Sussman and How to Design Programs (HTDP). But both are in Scheme not Python. But they will transform your understanding of how programs work. And if you really want to understand the theory find books on relational data theory, state automata theory, algorithm development, and Lambda calculus.

Then finally you might want to look at some of the books on system design, especially as you get involved in bigger projects. Its hard to organise code over several hundred files unless you have an underlying architecture and that needs to be based on good design principles more than good coding principles.

But none of that is essential to becoming a working programmer, just get out and write lots of code for real world problems.


--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

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

Reply via email to