I came across something on my Facebook wall recently. A student from my former university was complaining about professors being incompetent and totally disconnected from research, about assignments being worthless, and the technologies covered in the curriculum to be out dated. The student feels this is the reason why many students end up opting for MBA related studies, and very few have the urge to continue with a Masters or PhD in engineering. The problem here is two fold, and what is being raised here is just one half of the issue. I speak in the context of of my former university itself, because that's what I've seen personally, but it shouldn't be too different elsewhere (at least in India). The fact that students end up doing engineering and opt for streams they have absolutely no interest in, is a pivotal part of the problem (pretty much the stereotype highlighted by the movie, Three Idiots). The problem in my opinion is, students spend such a huge deal of effort trying to get into institutions like the IITs and NITs, that they completely miss the bigger picture. This much of a pressure on students from their families and society itself to achieve such a short sighted goal? Three time repeaters aren't a very rare sight in these institutions (to the readers who don't know, a repeater is someone who spends a whole year after their schooling, to prepare for a bunch of competitive examinations that decide your admissions to the top brass of universities in India). So at this point, you have a whole legion of students, exhausted from running the hamster's wheel of competitive examinations, with a near zero correlation between their choice of studies and their interests. The motivation levels drop to really low levels, and they pretty much _give up_. They expect to be spoon fed like they always were at their coaching centers, and any deviation from this is flagged as "poor teaching". It isn't rare to see students whine along the lines of, "Why does he expect us to do things which are not taught in class?". A professor I knew didn't want to raise the difficulty of the assignments because every time he took even the smallest of steps in that direction, it would end up with just one or two students actually submitting the assignments, and the rest complaining about the difficulty level. About the technologies being outdated, I tend to disagree. In the field of Computer Science, classical theory is important because that's what underlies a lot of real world implementations today. And the most important aspect is, learning about solutions to problems in one sphere helps give us a perspective of solving problems in other spheres as well, sometimes completely unrelated. For instance, pick up concepts taught under the "Operating Systems" tag like Synchronisation and IPC, and you've already learnt how to be careful when designing networking protocols and other distributed systems. With the sheer amount of knowledge encapsulated in the world of open source projects, knowing how these concepts apply to practical systems is only as far as a few clicks on the internet. I never learnt so much about computer networks from my coursework than I did through my involvement with the ns-3 project. The same orders of magnitude apply to my programming skills and systems design too. There are a lot of people out there who can help you, and this is precisely the kind of empowerment you get by leveraging the potential of open source and online communities in general. All you need is a few teaspoons of motivation, and you're good to go. After all, _you_ would want to do something about the situation you're in. Knowing a few such students who're as keen on learning more about the technologies in their chosen areas of study is all you need to keep going ahead. You learn more from your peer groups than anywhere else. EMDC has given me a good taste of this, thankfully. And lastly, the professors themselves. I personally agree that not all of them are perfect, they're humans are after all. But some of them do good research, are excellent mentors, and their guidance can go a long way in shaping what you are. If you've got the drive, they can make you do wonders. But they really aren't obligated to wake you up from sleep to enlighten you. In computer science terms, it's more of 'pull' processing than 'push' processing. Approach these professors, ask them what their research areas are, see if you'd like to give these fields a shot, and go for it. At my previous university, the Computer Science and IT departments together had close to 120 students per batch of undergrads (a total of 360 for 3 years, excluding the first years), around 30 masters students per year (a total of 60 across two years), and a few PhD students as well. Now ask yourself if it's possible for a handful of faculty members to ensure that all students are driven enough to be interested in their subjects. I'm not defending the system. I totally agree that it is flawed. But I just feel that we are all to blame here. So what choices are we left with? 1) Either wait for the system to improve. 2) Try to change the system. 3) Try to not to care too much about the system, but strive to be competitive. I personally prefer option 3). To conclude, you _can_ work around the flaws of the university education system. But it's you alone who should want to do so, don't expect anyone to push you to.