tags:

views:

130

answers:

7

I've been reading a beginner python book How to Think Like a Computer Scientist: Learning with Python, and wanted to knwo what to read now that I'm finished with it. Or, maybe what to do now? I don't still feel like a strong enough coder :/

Can anyone recommend a more advanced book or what they did to become a great programmer after reading this?

Thanks

+2  A: 

dive into python

SICP

linjunhalida
A: 

Go to here, learn all you can about the links from the site.(especially look at the official documentation, eg tutorial, libraries etc). You don't really need a book, but if you want books, there is also links to books on the site.

ghostdog74
+2  A: 

MIT has a great free open courseware at iTunes U called Introduction to Computer Science and Programming. I haven't gone through all the videos but so far so good. Lectures 1-5 cover the basics (data types, conditionals, so on) while Lecture 6 onwards discuss more advanced topics. I think what would interest you most is that they use Python for the code samples.

paul_sns
This course is also available outside of itunes at the MIT OpenCourseware site. It's course 6.00 under Electrical/Computer Engineering.
Joe Internet
+1  A: 

Go through questions tagged Python here on SO! :)

GreenMatt
+1  A: 

Try the python challenge. It's a good way to learn how to do a number of things in python, and it will certainly increase your self-confidence as a python coder.

Nikwin
+1  A: 

The best way is to take up and complete a moderately difficult project in Python. Thats what I did and it helped a great deal!

P.S.: This works for almost any programming language!

batbrat
What sort of projects?
wakeup
How about a simple chat program? Or a small game like pong or tetris using Pygame? It could be anything that you'd enjoy :). You could try a webapp with Django ...
batbrat
A: 

I'm a big fan of rewriting older applications, or new applications similar to older ones, in the language you're learning.

This has a few important benefits:

  1. You don't have to learn how to solve a new problem. You already have an existing solution that you understand and can adapt.
  2. You have a way to contrast Python idioms with the idioms in language you used to write the original application. This is important because it allows you to figure out the strengths and weaknesses of Python and when using Python is a good decision over other languages.
  3. Once you realize the strengths of Python and the number of libraries available, you can add to the original application, 'showing off' how awesome Python is.
Nick Presta