Friday, February 20, 2015

My suggestions related to skill development in Indian higher education on mygov.in discussions on New Education Policy

First, I would like to state my privacy and ethics policy on sharing publicly, matter related to mygov.in discussions.
a) I am free to put up on my blog for public viewing, the comments I make on mygov.in.
b) I should not and will not share any content of mygov.in portal that is private to logged in users and that is not contributed by me [unless I seek and get specific permission, which I don't think I will have any occasion to do so.]
c) I am free to put up links to content of mygov.in website which are accessible to the public
--- end privacy and ethics policy on sharing publicly mygov.in discussions ---

What is the New Education Policy that the Indian central (federal) government is working on, and is inviting participation from concerned Indian citizens like students, parents and teachers? This link gives a good idea: http://mygov.in/new-education-policy-group.html. A short extract from it:

The National Policy on Education was framed in 1986 and modified in 1992. Since then several changes have taken place that calls for a revision of the Policy. The Government of India would like to bring out a National Education Policy to meet the changing dynamics of the population’s requirement with regards to quality education, innovation and research, aiming to make India a knowledge superpower by equipping its students with the necessary skills and knowledge and to eliminate the shortage of manpower in science, technology, academics and industry.

--- end extract ---

Related to skill development in higher education I made the following suggestions (split into multiple posts due to post size limitations; I chose not to upload a pdf file) on the mygov.in portal (slightly edited):

In technical higher education like Computer Science and Information Technology, in my view, these are the problems and suggested solutions:

a) Lab. courses which are meant to provide skills are not given much importance. Students are not examined strictly (it is rare for students to be failed in lab. courses), and so they tend to take it easy with lab. courses. Further, faculty are not given any career growth incentive for teaching lab. courses well. So lab. courses are usually dumped on junior faculty.

Solution: Do strict evaluation of lab. courses, failing students where necessary. Ensure career growth incentive for lab. course teaching faculty.

b) Industry experience is not given much value by UGC/AICTE recruitment and promotion norms. So industry experienced persons do not have much incentive to move from industry to academia as teaching faculty. Non-industry-experienced academics in fields like Computer Science and Information Technology usually lack thorough knowledge of practical side of the field.

Solution: Improve practical skills level of teaching faculty in technical higher education by making it easy for experienced and accomplished industry professionals to move to academia on regular academic pay scale and designation.

c) In general, I am given to understand that in medicine the teaching faculty are themselves practitioners of medicine in "teaching hospitals". However, in technical fields like Computer Science and Information Technology, typically the teacher is not a practitioner of the field! So then how can the practical skills be taught properly to students?

Solution: Strongly encourage via career growth incentives, teaching faculty in technical higher education to be practitioners of the associated field. Measures of their competence as a practitioner can be evolved over time, based on artifacts/prototypes/products developed by the teaching faculty which should be peer-reviewed to ensure good quality output and rejection of poor quality/fraudulent output. Specifically, in the Computer Science and Information Technology field, a software contribution record can be used as a measure of competence of the teaching faculty in the practice of software development.

Friday, February 6, 2015

Dangers of pro-MATLAB-research and anti-software-development Computer Science higher education policy

[Please note that some of the content of this post may have been already written in earlier post(s). However, I have now felt it appropriate to label an extreme higher education policy as anti-software-development. So that is new in this post.]
It seems to me that some Indian Computer Science department(s) which do not have campus recruitment by software companies, have adopted a rather extreme policy where they have become almost anti software development as that takes too much time & effort to teach properly, and, very importantly, Indian top-level academic administration policy as well as academic institution accreditation processes do not reward or appreciate good teaching of software development practice. Instead, the rewards and recognition, both for individual faculty and the department, are for research publications. So some CS department(s) seem to have opted to strongly encourage students to use MATLAB script programming in their project work as that will help in quick results which in turn will facilitate a student-faculty research paper publication from the student's project work.

If the student concerned is strong in regular (general purpose, object-oriented) programming languages like C++, Java or C#, then he/she using MATLAB script programming for some part of the project work may be OK. But if the student is weak in regular programming language skills then the project work is the ideal opportunity for the student to do all programming work in these regular programming languages, thereby strengthening his/her regular programming language skills. Very unfortunately, it seems to me that in some Indian CS department(s) many students are misguided to produce quick research results using MATLAB script programming, without any concern about their weakness in regular programming language skills.

But what about the software lab. courses where regular programming languages are taught? Do those teachers not do a good job? Well, the big problem, it seems to me, is that teaching lab. courses in those sections of Indian CS & IT academia where campus recruitment by software companies does not take place, is a thankless and very poorly paid job. So most career-growth-oriented as well as senior faculty avoid teaching lab. courses and focus on more respected (in Indian academia) theory courses and research work. Lab. courses get neglected and are dumped onto junior faculty or even support staff like system administrators/technical staff. And, the senior academic administrators, knowingly or unknowingly, contribute to this mess by having lab. courses evaluation being either an internal evaluation done by the teacher himself/herself or, even if external evaluation is involved, the evaluation being very generous and easy to score. Students being failed in software lab. courses is almost unheard of in most of Indian CS & IT academia, I believe.

I don't think I would be wrong if I term such education policies as anti-software-development.

Who suffers most with such education policies? It is those students who after finishing their bachelor's or master's degree in Computer Science or Information Technology, seek a challenging and well paying job in the software industry. Their weakness in software development can be exposed by an experienced technical interviewer in less than half an hour (sometimes just a few minutes) of technical questioning.

How can this situation be corrected? Some suggestions:
1) The anti-software-development education policy of some Indian CS department(s) must be abandoned. Students must be encouraged to do software development using regular programming languages like C++, Java and C#.

2) Software lab. course teachers should be knowledgeable about programming and should be well paid. If knowledgeable teachers are not available among existing teaching staff then industry experienced persons should be recruited as well paid visiting faculty or regular faculty if their educational qualifications meet UGC/AICTE (Indian top-level academic regulatory bodies) criteria.

3) Students should be advised that a research publication is NOT a necessary requirement for their bachelor's or master's project work. [Please note that most masters students in CS/IT in India seem to come from a non-CS/IT bachelor degree background, and so may not be proficient in programming when they start their masters in CS/IT studies.] Students should be further advised that if they are not confident about their software development (programming, design etc.) skills then it is better for them to do a project involving a lot of software development without any research component. Please note that Masters degree by research is an exception as the title of the degree itself states that it is a research oriented degree.

4) Faculty should be actively discouraged from 'strongly encouraging' students to take up research problems for their (bachelors' and masters') project work. It should be left to the students' informed choice. Ideally, students who are already proficient in software development should be advised (but not 'strongly encouraged') to take up research problems in their project work so that they get exposure to the vital field of CS & IT research.

Those educational institutions where campus recruitment by software companies is a vital selling point to attract students, will have to pay much more attention to software lab. courses as their campus recruitment results will get negatively affected if they neglect software lab. courses. So the picture may be dramatically different in such Indian academic institutions.