Well, it all depends what's the reason of visiting India. My hometown is New Delhi, so I am little biased about it. Its beautiful, has its own charm and it has close proximity to Himalayas(a must visit place). You should start from here.
However, in case you want to visit for some tech. events or making new networks I would say Hyderabad and Bangalore are the best places to visits.(FYI: Google, MS, Yahoo, Oracle all have their big offices in these two cities). They are well connected by roads(12 hours journey), may be an hour on flight.
Since you are visiting early 2011, northern part of India is a great time to visit. Its bit cold during that time of year (or pleasantly cold)but its better than scorching Summers in May-July.
You would find plenty of clubs in each of the cities, you will meet beautiful girls ;) and what not.
I would say start from the North(Delhi), visit some places closer to Himalayas, Jaipur etc. They move south to Bangalore and Hyderabad. May be get a return flight from Mumbai(India's financial capital aka New York).
Thanks guys for your comments. I didn't know Code Ninja and Rockstars were not liked by the developers community per say.
I would refrain from using those terms.
Still I think my question remains un answered. May be I should re-phrase it as "How should I become a good programmer able to crack problems easily"?
What books did most of you used to aspire to be a good programmer?