Many of the less knowledgeable students that are not interested in the subject matter past saying they have a degree in CS, simply copy and paste code they find online or from friends without ever figuring out how it works.
Professors I have had generally say, "You can use a code snippet or library you find and you cite it, but if I ask you to explain how it works, you better be able to do so."
India is just insane - 99% of people are in "IT" or "Computer Science" or "Software Engineering" solely because of the initial wave of people who made it to the United States as programmers.
The so called IT revolution companies promise tons of jobs for these CS grads.
What is a person with no interest or aptitude in STEM fields to do?
Also this: http://news.ycombinator.com/item?id=5347363
Think of all the people, more or less all of them driven, successful and highly intelligent who go into finance each year. How many of them are in it for pecuniary reasons? Most people get a job as a means of getting money, are to greater or lesser degrees alienated from their labour and are not achieving peak actualisation or anything close to it in their work. Those who do are living the dream and if you don't know anyone who does so it hardly seems a plausible goal, does it?
Something as simple as generating an ssh key pair and using it for authentication leaves them completely bamboozled. By their questions it is clear that most haven't bothered to learn anything about it.
They don't care about security, performance, best practices, or anything but completing their problem sets and projects and getting their degree.
I don't understand the thinking in getting into a career field that you have no intrinsic interest in. And how they think they are going to get past even a half-hearted technical interview is beyond me.