Earlier quoted context omitted.
> The main issues, at least in my opinion, are "very very" bad teaching and very low incentives for someone to study well. Another significant element I'd point to is outdated curricula. By way of example, many Indian CS course materials still require students to use Turbo C++ -- an IDE from the mid-1990s which runs under DOS. Needless to say, what ends up being taught is hardly representative of modern practices.
I don't think the curriculum is outdated. Those are tools you are talking about.
Moreover -- the use of a 25-year-old IDE is symptomatic of a more general problem in Indian CS (and probably other) curricula. Many instructors are teaching to a syllabus which was set in stone many years ago. If you look at some of the links I posted in a sibling thread or explore other universities' posted materials, you'll probably see signs of this -- Java courses which still cover applet development is another common one, for instance.