A great book is one that provokes excellent discussion. It must be a book that causes you to say interesting things as soon as you start talking to each other about it. Some books are so encyclopedic and clear that there is just nothing to say about them except to repeat them (Aristotle runs this risk). Some books are true but bland (DeTocqueville). Some books establish categories so tangled that the first twenty sentences you say about them are crazy and confused (Montaigne). Some books are too funny to discuss (Don Quixote). The kind of book that works for Socratic pedagogy is the kind of book that practically discusses itself, and invites you to join. It fills your mind with apt words and fruitful categories. You say something about it, and you hear the sounds of wisdom coming from your own mouth.
Complete Programming Coding In C Language by Sumanta Pramanick
Two Scoops of Django: Best Practices for Django 1.8 by Daniel Roy Greenfeld
Design Patterns by Mainak Biswas
Computer Practices using C++ by Ramkrishna Ghosh