tags:

views:

293

answers:

3

I'm in the final year, final semester of my law degree, and will be graduating very soon. (April, to be specific.)

But before I begin practice, I plan to take 2 two months off, purely for serious programming study. So I'm currently looking for some Python-related books, gauged intermediate to advanced, which are interesting (because of the subject matter itself) and possibly useful to my future line of work.

I've identified 2 possible purchases at the moment:

  1. Natural Language Processing with Python. The law deals mostly with words, and I've quite a number of ideas as to where I might go with NLP. Data extraction, summaries, client management systems linked with document templates, etc.

  2. Programming Collective Intelligence. This book fascinates me, because I've always liked the idea of machine learning (and I'm currently studying it by the side too, for fun). I'd like to build/play around with Web 2.0 applications; and who knows if I can apply some of the things I learn to my legal work. (E.g. Playground experiments to determine how and under what circumstances judges might be biased, by forcing algorithms to pore through judgments and calculate similarities, etc.)

Please feel free to criticize my current choices, but do at least offer or recommend other books that I should read in their place. My budget can deal with 4 books, max. These books will be used heavily throughout the 2 months; I will be reading them back to back, absorbing the explanations given, and hacking away at their code.

Also, the books themselves should satisfy 2 main criteria:

  1. Application. The book must teach how to solve problems. I like reading theory, but I want to build things and solve problems first. Even playful applications are fine, because games and experiments always have real-world applications sooner or later.

  2. Readability. I like reading technical books, no matter how difficult they are. I enjoy the effort and the feeling that you're learning something. But the book shouldn't contain code or explanations that are too cryptic or erratic. Even if it's difficult, the book's content should be accessible with focused reading.

Note: I realize that I am somewhat of a beginner to the whole programming thing, so please don't put me down. But from experience, I think it's better to aim up and leave my comfort zone when learning new things, rather than to just remain stagnant the way I am. (At least the difficulty gives me focus: i.e. if a programmer can be that good, perhaps if I sustain my own efforts I too can be as good as him someday.) If anything, I'm also a very determined person, so two months of day-to-night intensive programming study with nothing else on my mind should, I think, give me a bit of a fighting chance to push my programming skills to a much higher level.

+1  A: 

This isn't a book, but I saw this today: Google Code University on Python

Joel
I went through the tutorials, and it's nice but somewhat basic. (The Day 2 things are fun though.) Thanks!
anonnoir
A: 

If you are really looking for a good book on Python then i will recommend "O'Reilly - Learning Python 4th Edition (2009). By using this book it made me a master in python within 2 months.

Apparently they put in code for both Python 2.6 and 3, which is why it's a bit thick. (1200+ pages -- rather scary, and weighty.) I'll keep this book in mind.
anonnoir
+1  A: 

Both of the two books you are considering are excellent. Since you're going into Law, I'd tend towards the collective intelligence book, since the ability to get data off the web, process and understand it seems more relevant than language processing.

Read the book, then do a mini project building something relevant to you -- if you can learn Python, understand the book and build the project in 2 months, then you're extremely smart!

Paul Hankin
Oh, I could only wish that I were as smart as some of the people here on Stack Overflow. (Or Eli Bendersky, really. One of the main reasons I picked up Python, and programming in general, was because of his website and superb tutorials.) But to make up for that lack of smarts, I'm going to work hard instead!
anonnoir