I don't think the issue is an Indian issue. More likely its just because a very small number of people should actually be taking engineering, but because of how lucrative it is, so many people take it who shouldn't be there.

I went to Stanford in the early 2000s for undergrad and majored in EE.

EE classes would normally have up to 50-60 students in lectures. Lectures would be taken by professors, many of whom were leading experts in their field, and some would be visibly bored or annoyed at having to teach ridiculously simple undergrad classes. You can imagine Nobel prize winners trying to teach basic physics.

Students did not learn much from these professors, some of whom would just recite from the textbook (which they had written). So students stopped coming to class. And Stanford even then recorded and streamed most engineering lectures, so by middle of the term only 5-6 students would show up to class. Then you go for the final exam and there are like 100 students who show up, everyone surprised the class was so big!

They had problem sets every week, and tutorial sessions where you could get one on one attention with graduate students. These were the most personalized attention you could get during the course.

You had a choice at Stanford. You could either choose to learn, or you could choose to have good grades. Only the top 5% of the class, the real geniuses could learn and get good grades at the same time.

I was not that smart. So I spent the first two years taking classes I was interested in. Mostly skipped the lectures, and took as many classes as possible. I was a solid B student. Then I got tired, and decided EE was not for me. Thought about switching majors but it was too late. So decided to get through on the bare minimum of effort.

As soon as I flipped that switch, I met the other group of people, the ones focused on good grades and enjoying life.

In order to get good grades, you have to do well in problem sets, midterm, final exam and project for each class.

Problem sets - It's ok to copy answers. We used to have a basket in the EE office where people turned in answers. Just go one day early and grab someone else's paper. Copy, return. If the guy turned it in a day or two early, he must have known what he was doing.

Project - Even easier. Stanford had so many socially inept engineers. Guys who don't even speak in class and usually very quiet or weird. These guys need friends too. Be their friend. Be in their project group. You don't even have to do anything. The smart guy will do all the work, won't even complain or tell the prof. Why? Because most of the really smart guys are really arrogant that their smart, and they believe they don't need anyone else. They're annoyed they have to have project partners. As long as they have to have a partner, then one who is friendly but doesn't interfere with their ideas or vision for the project is the best.

Mid-term and finals - The last week before the mid term or final, show up for the tutorials. Most of the grad students teaching them will focus on the problems most likely to come out in the exam.

Voila. I was an A student the last two years. And graduated without knowing anything. I told my faculty advisor I just wanted to get my degree and get out!

And the funny thing is, I have friends who have made a career out of "getting grades" this way. Think about all those venture capitalists in Silicon Valley. Those were the kids who were friends of smart engineers. Think of Sheryl Sandberg, Eric Schmidt etc. The managers without significant technical knowledge.