The only thing I would like to add is w.r.t. to the teachers - apart from the IITs (and a few other select colleges), most of the teachers there are pretty pathetic, and I think the biggest reason is that the well-qualified people choose to rather work at a private company and earn 5-10x more rather than join a non-IIT college as a teacher. IITs are the exception because there is significant academic prestige to be a professor there, which most other colleges cannot claim.