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]