It's an unfortunate fact that in terms of Software technologies there is a big mismatch between what academics produce and what industry wants. It's so much true in India and I believe as per my discussion with other people it's quite true everywhere to a different extent. But this surely is a big problem in India.
I tried to ponder over these issues as I have some opportunity in interacting with colleges and taking workshops on software technologies. Some of the things that I observed, I am putting them down. First I will put down the structural issues which are relevant in terms of teaching itself.
- Deep cultural issues: I am tempted to make this as no. 1 issue especially in terms of India. We put so much emphasis on face value than place value. The whole approach towards education is to find job, which is fine. But to have the only aim to have job is not fine. It should always be a by product of the efforts. But the emphasis should be on the good quality knowledge.In India the life of a person is scripted to such an extent that anyone with little creativity feels suffocated. The silver lining is that it's changing as people are questioning the old ways of living.
- Morale of Teachers: If the commander of the army is a timid and under confident person, the army is never going to succeed. Same goes with the education system in India. Many of the people in teaching are not by choice but by compulsion because of personal issues or not able to get a job. And many of them are trying to flee at the first drop of the hat. Can we make it a better job in terms of respect it gets in society. The compensation is not the only issue in it. We have to find better ways to elevate the status of teaching in India. We give gallantry awards to people who save our nation. Cannot we institute awards of similar level for people who are involved in the process of building nation. Also there is a need of strong industry collaboration where teachers do get a chance to work in industry and the same way around. I am sure there are many people in industry who would not mind going for a sabbatical to teach. Prof and ex- President A.P.J. Kalam is a great example of this. Also there should be better mechanisms to judge the performance of teacher and rewards in place for better performance and equally severe punishments for not performing.
- Politicization of education system: Time and again I have failed to understand the deep connection between politicians and education system. Why most of the college owners are politicians and why most of the politicians run colleges? It's a systemic issue in India. I am not against politician but the way colleges are run to serve political purpose is what harms the society. There are so many colleges which do not have minimal infrastructure to run the show. Still they are distributing Masters and Bachelors degrees.
The issues that I have discussed till now are more of systemic structural issues. Now I will try to talk a little bit about the approach towards teaching software technologies:
- Too much emphasis on syntax: Again this goes with putting emphasis on face values and not place values. It's important to understand why we are learning technology. I see the syllabus full with all kind of programming languages including PHP, Java, C, C++ and many more and hardly one or two on algorithms and logic. It needs to be changed. Have one or two language and let people choose where they want to go. There is no point in learning how to read a file using 15 different languages but what is important is to understand the context in which you have a need to read the file.
- Lack of tools usage: There are so many good development and project management tools which are open source and free. There should be an effort to build labs around those tools which will increase the productivity of students. Yes, the concept of productivity should be inculcated right from beginning.
- Participation in real projects: We are very lucky to live in times where there is so much activity in open source. Encourage students to participate in them. Atleast they can participate in testing these applications and I am sure there will be some genius who will help in taking those projects to new heights.
- Test skills and not knowledge: Our examination system needs a overhauling in terms of testing the applied knowledge than how much one can remember (mugging). This shift is required at all levels in our society.