Regarding post-graduate coursework offered in IITs, I have compiled a list of books that are usually referred to.

*Advanced Algorithms*

- Foundations of Algorithms, Jones and Bartlett. [Site]
- Algorithm Design by Jon Kleinberg and Eva Tardos [PDF]

*Social Computing :*

- Networks, Crowds, and Markets – Easley and Kleinberg [PDF]
- Mining of Massive Datasets – Jure Leskovec, Anand Rajaraman, Jeff Ullman [PDF] – I bought this book and found it very useful. It introduces each topic and also explores the modification of the algorithm on a large scale, i.e. when running on a large number of data points.

*Machine Learning*

- Pattern Classification, Duda Hart – A fair warning that it contains a fair bit of maths and is recommended for those new to the field. [PDF]
- Tom Mitchell. Machine Learning (McGraw Hill) – I recommend this book if you are just starting. The concepts are explained quite lucidly. [PDF]
- Pattern Recognition – an Algorithmic Approach – I found this book quite easy to grasp.
- Machine Learning – a probabilistic perspective by Kevin P. Murphy – This book gives a good mathematical treatment in explaining Machine Learning concepts. [PDF]

*Deep Learning*

- Deep Learning by Ian Goodfellow and Yoshua Bengio, and Aaron Courville[PDF]

*Natural Language Processing*

- Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition by Jurafsky and Martin [PDF]

*Information Retrieval*

- Introduction to Information Retrieval by Manning, Raghavan, and Schutze[PDF]