I am an Indian student studying in freshman year in one of the so-called "top" colleges and there are just too many problems.

* First of all, the system is very rote learning oriented. The questions in the exam will be exactly same as those solved in the class. That means people without proper understanding of concepts can still get A+ grades by memorization techniques. But it is PITA if you actually have some interest in subject. You may not get good grades if you write right answers in exams but they aren't like what is in the book.

* Too many people enter Engineering, especially CSE in hope of getting a Job. Entrance process is based completely on basic sciences and while better than other exams, people still game the system by studying four years for entrance exams. This and management quota in Engineering colleges leads to huge influx of students out of them somewhere like 2% - 5% actually have interest in the branch of engineering they take.

* Talent gets no recognition many times. Rote-based exams make it easy to distinguish average from absolute low. But average and talented appear to be at same level because a talented person can be as good as an average but hard working student in these rote based exams.

* Since there is huge influx of students and huge number of engineering colleges, most faculty is underskilled and better we could have robots teach us. We had a teacher who doesn't appear to indent C code, but also has a "qualification" in "distributed systems" and "computer networking".

* Something that has been a problem to me: I was pretty good in basic sciences, passed entrance exam with good marks without any tedious "coaching", and I took up CSE because I was interested in computer science.
The first year of engineering syllabus consists of same common subjects to all branches, like Physics, Chemistry, Mathematics (Calculus) and introductory courses to other engineering disciplines (C programming is only CSE related thing they teach us). That's improperly using one year. However relevant those subjects are, they aren't as relevant as teaching programming/CS related subjects in practice. We will have campus placements in 7th semester and due to this, we only get 2nd and 3rd year to actually study CSE. Even those subjects wouldn't have been a problem apart from being waste of time - but they are too rote learning based and uninteresting - As in teaching some methodologies to solve some kind of numerical problems and asking them in exam. Today as I am writing this I have an online exam some hours later. I never thought I would be grades in 7/10 range but the uninteresting and rote based nature of these exams doesn't motivate me to study anything.

And this "interdisciplinary" kool-aid has another effect. I have seen even toppers of my class not understanding recursion and algorithm complexity. Because algorithm complexity is not taught in first year. We only get to learn C programming (No 'advanced' concepts like malloc / free, file I/O) in first year. This is huge waste of resources because all these rote learned physics fundamentals don't be useful for most of these people in practice. They will be forgotten after exams. If they had taught something related to CS, at least it would be useful to do side projects and have something more on our resumes, and would be perhaps useful as an engineer.

* Perhaps as a result of the above, Syllabus is far behind the actual advancements in technology. Git? Apparently only members of college's coding club know what that is. Docker? What's that?

I am frustrated. It is just pointless. Especially because all this is too costly for a middle class rural student and we have to get education loans. If it was not the societal pressure / norms, I could have self studied and could have become a better engineer. The system is so screwed up - perfect one to churn out enterprise droids anyway.