Tuesday, August 26, 2014

Prof. Stroustrup: Software development is a potentially noble profession like medicine or classical engg. disciplines but long way to go

Given below is the link of a very interesting interview of one of the living legends of the software development field, Prof. Bjarne Stroustrup, creator of C++, http://www.stroustrup.com/, http://en.wikipedia.org/wiki/Bjarne_Stroustrup. I found this statement of Stroustrup (in the interview) to be quite insightful as well as visionary, "I see software development as a potentially noble profession, like medicine or some of the classical engineering disciplines, but we still have a long way to go to get there."

The article is dated Dec. 2013, ‘We need better balance between theory and practice’, Bjarne Stroustrup, Father of C++. http://yourstory.com/2013/12/bjarne-stroustrup-interview/#.

I think it will be really great if software development practitioners view their profession with the maturity and responsibility that medical practitioners & engineering professionals view their professions. Of course, there are some bad apples among medical practitioners & engg. professionals too, especially in economically developing countries including India, but overall they are a far more accountable & responsible set of people, with that accountability being mandated by law in many cases.

Monday, August 25, 2014

Improve the Practice of Software Development in India by Having a Software Development Career Track in Indian CS & IT Academia

This is an HTML version of my paper (pdf version) put up on the pre-print archive of Cornell University, USA here: http://arxiv.org/pdf/1202.1715

Improve the Practice of Software Development in India by Having a Software Development Career Track in Indian CS & IT Academia


Ravi S. Iyer
Software Consultant, Puttaparthi, Andhra Pradesh, India
ravi@raviiyer.org

December 21st, 2012

Abstract

Many, but not all, Indian CS & IT academics tend to have a focus on theory and research. They do not give much importance to the practice of software development. This paper proposes an additional software development career track for Indian CS & IT academics different from the existing research oriented career track. A measure of software contribution record is suggested. It opines that adoption of such changes to academic regulations will result in significant improvement of software development skill set in Indian CS & IT academia which, in turn, will result in better software development skill set in Indian CS & IT graduates.

Note: The review remarks for this article by a noted international academic publication focused on CS education and the response of the author are provided in Appendix A.


Introduction

The author is a Physics Graduate (and Physics Masters drop-out) from India who was industry-trained and later self-taught in software development. He worked in the international software industry (US, Europe, Japan, South Korea, India etc.) developing systems as well as applications software (CS & IT) for over 18 years after which he retired from commercial work. He later, mainly as an "honorary faculty/visiting faculty", offered free service of teaching programming courses (lab. courses) and being a "technical consultant" for student projects in a Maths & Computer Science department of a deemed university in India for 9 years. This paper is mainly based on this experience of the author.

The rather odd reality of the vast number of CS & IT departments of universities & colleges in India is that the majority of the teachers in these departments focus on theory and research publications but do not give much importance to practical areas like Software Design and Programming or Coding. Therefore the practice of software development is quite poor in most Indian CS & IT departments. The sections below give references to support these statements.

Peer Reviewed Academic Literature Sources on Poor Software Development Skill Set in Indian CS & IT Academia


Mahanti et al., 2005, state that in India, "Software engineering does not yet have an independent curriculum with enough durable, codified content to justify a separate undergraduate curriculum." [20]. They further state that in India, "Limited exposure to industry problems, inability to adapt course curricula to dynamic industry requirements, limited exposure to latest tools & techniques, inability to enter into emerging areas, rigid and outdated course curricula, (repetition omitted), poor industry linkages, little real-life case studies, little scope for creative learning are some of the drawbacks in the software education system in the universities."

Garg et al., 2008, conducted a survey of major software services companies in India and reported that the training programs of these companies include retraining on programming and Software Engineering (SE) as Indian academia is not able to impart these skills to the level that they expect [21]. They further state that they studied the publicly available syllabi related to SE for a large number of Indian universities and found that the focus is on theoretical aspects and "Practical aspects, best practices, recent developments are not included and students rarely get a chance for application of the knowledge and skills they learned."

General Public Views on Poor Software Development Skill Set in Indian CS & IT Academia


The author believes that Indian CS & IT academics should also listen to views of students and others like the news media and teacher blogs on this matter. While these views may be contested as not having been validated by means of an academic/scientific peer review process the author is of the opinion that the almost unanimous voice of the general Indian public must be given some importance. The Indian public naturally expects that Indian CS & IT academics will prepare Indian CS & IT students to contribute mainly as competent software developers to the explosively growing software systems that pervade many aspects of modern life in India and the world.

Most of the students graduating out of Indian CS & IT academia end up having somewhat strong theoretical and, at times, research-oriented skills but being poor in Software Design and Programming [1, 12, 13]. The problem lies not with the CS & IT academics but with the Indian CS & IT academic system which provides career growth mainly for research output and largely ignores software contribution output [1]. 

A study of over 50,000 engineers who graduated in 2011 in India, very alarmingly states, "The percentage of ready-to-deploy engineers for IT jobs is dismally low at 2.68%" [19]. It further, alarmingly again, states, "An economy with a large percent of unemployable qualified candidates is not only inefficient, but socially dangerous." A Bangalore, India industry organization is planning to set up a task force to have an interface between IT industry and academia to restructure academic courses to ensure that IT graduates have skills desired by industry [18].

For this rather odd situation, where most Indian CS & IT academics/teachers do not have a strong software development skill set, to improve, Indian academic regulations should provide career advancement incentive for CS & IT academics who have a software contribution record [4]. Further, students should be informed of the software contribution record of faculty of CS & IT departments by making it mandatory for CS & IT departments to put up such information on its web site [5].

Teaching excellence in Indian CS & IT academia does not seem to be given much importance. It may be due to an obsession with research as there seems to be no significant rewards or recognition for teaching excellence whereas research excellence gives recognition, even fame at times, and career advancement [6].

How can we improve software development teaching standards in Indian CS & IT academia? The sections below examine Indian academic regulations with this objective. 

A Short Introduction to The Indian CS & IT Academic System


The University Grants Commission (UGC) is the apex academic body of India [10]. "The UGC has the unique distinction of being the only grant-giving agency in the country which has been vested with two responsibilities: that of providing funds and that of coordination, determination and maintenance of standards in institutions of higher education." [10a]. The All India Council of Technical Education (AICTE) [10d] is a professional council which operates under UGC umbrella. The UGC website states about AICTE, "The council is authorized to take all steps that are considered appropriate for ensuring coordinated and integrated development of technical education and for maintenance of standards." [10b]. 

"The UGC serves as a vital link between the Union and State Governments and the institutions of higher learning." [10c]. The UGC regulations/norms for appointment of academics [7] has a significant influence on the career of Indian academics of all academic streams including CS & IT who are employed in any higher education institution regulated by UGC or its professional councils like AICTE. But the extent of influence may vary depending on whether the educational institution receives government aid (funds) or not. The entry level position for a regular teacher post (as against a Teaching Assistant post) is the Assistant Professor position. The other teacher positions are Associate Professor and Professor.

In India the degrees awarded for software education by UGC/AICTE regulated academia are mainly termed as Computer Science (CS) or Information Technology (IT) degrees with an additional variant of Computer Applications degrees [15]. The Software Engineering (SE) degree/program is not well known in Indian academia. Most universities offer Software Engineering as a course along with other courses in their CS (and IT) curriculum [21].

The elite Indian Institute of Technology (IIT) institutions are independent of UGC & AICTE but they cater to only a small percentage of technical students in India. There are also thriving private software education/training institutes with a nation-wide presence sustained over decades but their certifications are different from the CS & IT degrees offered by UGC/AICTE recognized universities. This paper limits itself to UGC/AICTE recognized CS & IT educational institutions.

UGC Appointment & Promotion Regulations for Music & Dance Discipline


Music, including the vocal art of singing, & Dance are performing arts. The teacher of these arts must be a capable performer first and should also have adequate theoretical knowledge.

This aspect of Music & Dance being a practice-oriented discipline is reflected in UGC [10] regulations for appointment of Assistant Professor, Associate Professor & Professor for Music & Dance discipline on Pages 7 - 9 of its regulations for appointment of teachers [7]. The author presumes that the regulations for promotion for Music & Dance discipline teachers will be on similar lines. These UGC regulations for Music & Dance discipline can be summarized as follows:

For the Assistant Professor post, the candidate should conform to standards similar to regular disciplines like Physics and Mathematics which are: Master's degree with 55 % Marks + NET/SLET/SET (National Eligibility Test, State Eligibility Test etc.) qualification; PhD, adequate research publication record etc. come into play for higher posts of Associate Professor and Professor.

    OR

For the Assistant Professor post, the candidate should have studied under noted traditional masters, be a high grade artist of AIR/TV (Radio/Television) and have adequate theoretical knowledge; years of performance, participation in national/international seminars/workshops etc. come into play for higher posts of Associate Professor and Professor.

Specifically, practical expertise of the performer is recognized and formal academic degree qualification in Music or Dance as well as research publications are not necessary.

Suggestion of Two Tracks for CS & IT Academics: Research Oriented and Software Development Oriented


The software development discipline is a very practice oriented discipline. Design & programming (coding) are vital skills. Of course, theoretical background is important but theory not backed by competent design & programming skill will make a software development practitioner/professional as incompetent as a musician or dancer who knows theory well but is not competent in performing music or dance.

Research is also vital for the software field. It is research that creates fundamental advances in the Computer Science & Information Technology (CS & IT) fields. Without research, the great and revolutionary force of the Internet would not have been created. This single example, itself, of the benefit of research shows how critical it is for progress in the software field. There are many, many other areas of CS & IT research that are of great importance to the software field.

In the author's opinion, we need both types of CS & IT teachers - practice oriented software development teachers & research oriented teachers. A very few teachers may excel at both, software development as well as research. But that will, in all probability, be a numerically insignificant minority among the huge number of CS & IT academics in the country.

As of now, UGC appointment & promotion regulations do not differentiate between CS & IT disciplines and disciplines like Physics & Mathematics [7]. The author could not find an equivalent regulations document for AICTE on its website but the general impression is that AICTE follows regulations similar to UGC in this regard. There is no incentive for practice-oriented software development teachers resulting in the majority of CS & IT academics being theory and research-oriented with not-so-strong software development skill set/knowledge. When the software development teacher himself is not so knowledgeable about software development the probability of students being taught software development skills well is very low.

The author suggests that UGC & AICTE regulations for appointment and promotion of CS & IT academics be modeled on the lines of that of Music & Dance discipline. The author would not like to get into the debate of CS as science vs. CS as art. His emphasis is on the software development part of CS & IT being a very practice oriented discipline like Music and the performing arts. Further, in a tightly regulated system like Indian academia, precedent for any suggested change makes it easier to consider the change. Since the regulations for Music and the performing arts already have a mechanism to cater to both the research oriented teachers and the practice oriented teachers, the author considers it appropriate to refer to the precedent and suggest a similar mechanism for Indian CS & IT teachers.

There should be two tracks for CS & IT academics - the current one for research oriented academics and another for practice oriented software development academics. Like the measure for competence in research for the (research oriented) CS / IT academic is the research publication record, the measure for competence of the software development CS / IT academic should be the quality and quantity of her open source software contribution record.

Suggested Changes to Teacher Eligibility Tests (NET/SLET/SET) for CS & IT Disciplines


According to UGC regulations [7] the minimum requirements for an Assistant Professor appointment in engineering and technology discipline (which includes CS & IT) are a first class Master's degree in the appropriate branch of engineering and technology and qualifying in the teacher eligibility tests (NET/SLET/SET) [11]. AICTE seems to have watered down the requirement of Master’s degree to a Bachelor’s degree in engineering/technology discipline probably due to paucity of adequately qualified candidates applying for the Assistant Professor position. The teacher eligibility test is waived for candidates who have been awarded a Ph.D. degree [7].

The present teacher eligibility test (NET/SLET/SET) for CS / IT academics is a paper only test (though the syllabus includes C/C++ & SQL [11]) due to which an aspirant can become eligible to be appointed as Assistant Professor without having good practical software development skills! That may be acceptable for a research track CS / IT teacher. But it is unacceptable for a software development track CS / IT teacher. Aspirants who do not have good practical software development skills should NOT be appointed as software development track CS / IT Assistant Professors (or other grade Professors).

A new teacher eligibility test for software development track CS / IT academics should be introduced which will have a 50% weight-age practical test (on computer) involving programming and some amount of design, and 50% weight-age on theory. This will ensure that software development track teacher-aspirants will have to be reasonably good in both theory and practice aspects of CS / IT. 

Allow Movement from Research Track to Software Development Track & Vice-Versa 


A CS / IT academic should be able to switch track from research oriented to software development oriented if her software contribution record is appropriate. Similarly a software development oriented CS / IT academic should be able to switch track to research oriented if his research publication record is appropriate. Some CS / IT academics may have a respectable research publication record as well as a respectable software contribution record which would be a wonderfully balanced contribution record.

How Do We Measure a Software Contribution?


This will have to be evolved over time. Software industry bodies in India like NASSCOM & CSI [8] (other countries would have other such bodies) can arrive at norms for evaluating an academic software contribution which can be updated at appropriate intervals to reflect the rapidly changing software practice. The author suggests the following for measuring (and sharing) the academic software contribution:
  1. It should be open source allowing any person to download the software and use it, examine it or modify it.
  2. Industry professionals should "peer review" the candidate academic software contribution using norms provided by industry bodies like NASSCOM or CSI and decide whether it is of requisite quality & quantity to be considered as a "peer reviewed" academic software contribution. Note that the contribution can be a single author contribution or a multiple author contribution like academic publications can be single author or multiple author.
  3. Over time, an impact factor similar to one used by scientific journals [9] can be evolved for a "peer reviewed" software contribution. Extent of usage of software can be considered for this impact factor like citations are considered in arriving at a scientific journal's impact factor.
  4. To make it difficult for contributor-aspirants to fake, plagiarize or wrongly influence peer review of software contributions, any "peer reviewed" software contribution should be open to challenge by suitable industry professionals or academics. As the software will be downloadable including its source, a challenger will be in a position to study the contribution in depth and challenge its acceptance as a "peer reviewed" contribution. The challenge can be decided by an industry body like NASSCOM or CSI appointed referee.
  5. All these "peer reviewed" open source academic software contributions should be properly listed and organized in a web based repository which is openly accessible.
Involving the software industry in this "peer review" of academic software contributions may go a long way in reducing the huge academia-industry disconnect in the software field today.

Concern of Research Rigour Being Watered Down


One concern may be that the research rigour of CS & IT departments will get diluted by having practice oriented software development track teachers. Well, we need a balance. CS & IT departments should have the "right" balance of research oriented teachers & software development oriented teachers. The "right" balance for a research-intensive department could be 80 % research oriented teachers and 20 % software development oriented teachers. In contrast, the "right" balance for a teaching-intensive department could be more like 50 % software development oriented teachers and 50 % research oriented teachers. Please note that the software development oriented teacher has to be good at theory too and has to prove his theoretical knowledge by clearing the software development track NET/SLET/SET exam.

Allow Industry-Trained & Self-Taught Professionals to Become CS & IT Teachers By Clearing Teacher Eligibility Tests (NET/SLET/SET)


The software industry has a huge number of industry-trained and self-taught professionals who do not have a CS / IT academic qualification. Some of the biggest icons of the software industry who are world-famous like Bill Gates (Microsoft), Late Steve Jobs (Apple) and Mark Zuckerberg (Facebook) are/were self-taught. India, in particular, has a vast number of industry-trained software professionals who come from various disciplines in engineering, science, management, commerce & even arts. UGC & AICTE must recognize this reality of the software/CS & IT fields and allow interested industry-trained and self-taught professionals with significant number of years of experience in the software industry to become regular (paid) CS & IT software development academics. For such software industry professionals the requirement of a Master's degree in CS / IT should be waived like it is waived for the performing artist track in Music & Dance discipline. But the self-taught software professional MUST prove his/her capability by passing the software development track eligibility test (NET/SLET/SET) which will test both his/her theoretical knowledge as well as practical competence.

Please note that UGC regulations (and AICTE regulations too, it is presumed) allow for an "outstanding professional" of a field to be appointed as a Professor. The above mentioned suggestion is for those who are not eminent but are knowledgeable & competent industry-trained and/or self-taught software professionals.

Industry Professionals as Visiting Faculty/Industry Consultants


Industry professionals who are not NET/SLET/SET qualified nor possess a PhD but are offering free/honorary teaching service may be accommodated as visiting faculty/industry consultants if their knowledge and skill-set are found competent by university/college & department administrative authorities. Such industry professionals who offer their services to a university/college regularly may be an insignificant minority of the CS & IT teachers of the country. They may be treated as exception cases.

A Brief Look at Software Engineering Education, Certification and Professional Licensure in USA and Some Other Countries


The author has direct exposure to only Indian software education academia and so has focused on it for most of this article. However, it was felt that mention of software education practices in some other countries would give a larger, international perspective. So he did a small literature survey to study efforts made to ensure good software development practice in software education in USA and some other countries, and extended it to cover certification and professional licensure. The study focuses more on Software Engineering (SE) degree programs than Computer Science (CS) degree programs. Judging what aspects of this small study report could be useful in Indian environment may ideally need somebody who has direct exposure to software education field in both India and other countries like USA. This author leaves those aspects for others to consider, if they find it worthy of consideration.

SE is an established program in USA academia distinct from a CS program [22]. The SE2004 volume gives guidelines for a SE curriculum and its website indicates that it was an exhaustive effort at improving SE education quality in the USA, UK, Australia, Canada, etc. [23]. Accreditations of SE (and other engineering & technology) programs are conducted by organizations specializing in accrediting technical education. Lethbridge et al., 2007, give details of SE programs and their accreditation in USA, Canada and UK [22].

At a USA institute, "software engineering is a five year program, with students graduating with the equivalent of almost a full year of work experience." and there is collaboration between various companies and the institute on projects as part of the SE education program [25]. Its website states that its senior projects involve a team of 4 to 5 students working on challenging, real-world software issues for companies & organizations and results in a functional software tool ready to be used by the organization [26].

Stroustrup and others have adopted a "software curriculum" in a CS program with an aim to produce ‘software professionals (for some definition of "professional")’ and reported largely positive results from it [3]. 

The IEEE Computer Society offers certification of graduates as well as self-taught software development professionals by conducting certification exams [24]. It’s "Certified Software Development Associate (CSDA)" certification/credential "is intended for graduating software engineers and entry-level software professionals and serves to bridge the gap between your educational experience and real-world work requirements" [24a]. Its more advanced "Certified Software Development Professional (CSDP)" certification/credential "is intended for mid-career software development professionals that want to confirm their proficiency of standard software development practices and advance in their careers" [24b]. IEEE Computer Society claims that its certification programs are "industry standard measurements of fundamental software engineering practices" and so are different from vendor-specific & product-specific certifications [24c].

Land et al., 2012, argue that current circumstances are favorable for formal certification in software engineering to be considered and state that there is growing support for IEEE CSDA and CSDP in both industry and academia [27]. They further state that these certifications are based on the IEEE Computer Society's Guide to the Software Engineering Body of Knowledge (SWEBOK) [28] which is followed by the CS and SE programs of some colleges and universities.

Laplante, 2012, mentions that 10 states of USA may soon be requiring licensure for software engineers working on systems related to "public health, safety, and welfare" [27a]. He further mentions that the professional licensure requirements for software engineers will be similar to those of other engineering professions in the states of the USA and that most components of such licensure requirements/exams for software engineers are already in place with a final component expected to be available in April 2013. However, Miller, 2012, suggests that the enthusiasm for professional licensure of software engineers be tempered with caution [27b]. He states, "Questions about professionalism and licensing in IT have a complex, international history."

Mead, 2009, gives a timeline of SE education in USA and some other countries [29], notably:
  • 1980's seeing the first conference on SE education;
  • 1990's seeing first class graduating with Master of Software Engineering (MSE) degree of Carnegie Mellon University, undergraduate SE programs in other universities and its accreditation, growth of industry-university collaborations, a joint committee of ACM & IEEE Computer Society being formed to promote SE as a profession, licensing being introduced by US state of Texas and a lot of controversy being generated over licensing that "continues to this day", distance learning enabling global SE education;
  • 2000's seeing IEEE Computer Society adopting SWEBOK and offering CSDP certification, many universities offering international SE programs and SE education track being introduced in other conferences besides CSEET.

Critical Views on Software Education in USA and Some Other Countries


The author felt it appropriate to share some critical views on software education in USA and some other countries from academic and general public sources.

Stroustrup, 2010, has argued that “fundamental changes to computer science education are required to better address the needs of industry”, and shows the disconnect between CS academia and industry [2]. Parnas, a veteran SE academic, in an ACM Fellow profile interview in 1999, states, "Most students who are studying computer science really want to study software engineering but they don't have that choice. There are very few programs that are designed as engineering programs but specialize in software." [30]. He also states that the term software engineering is often confused with project management techniques.

Mark Tarver, who taught in UK CS academia prior to 2000, is harshly critical of programming skills of UK final year project CS graduate students who confessed to not being able to do any programming. He is also harshly critical of UK CS education in general [14].

A student, 2010, captured the feelings of the student community when he wrote, "I'm graduating with a Computer Science degree but I don't feel like I know how to program" and tried to seek advice from a professional programmer forum [16]. A USA employer/interviewer, 2011, who has hired dozens of C/C++ programmers, stated, "A surprisingly large fraction of applicants, even those with masters' degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks" [17].

Conclusion


If the practice oriented software development career track, as suggested in this paper, is introduced in UGC & AICTE regulations for appointment and promotion of Indian CS & IT academics then, over time, we will have a healthy mix of both research oriented as well as software development oriented Indian CS & IT academics. We may even have significant number of software development experts from the software industry moving to Indian CS & IT academia. What a boon that will be for boosting the software development skill set of Indian CS & IT academia! It will also dramatically reduce the huge academia-industry gap that plagues the Indian software field today.

These changes, in turn, will, at least for the teaching-intensive Indian CS & IT departments, result in graduates & post-graduates of CS / IT having a good balance of theory and practice of software development with some appreciation for the research angle of CS / IT as well. Some of these graduates/post-graduates may choose to pursue research by doing a PhD in CS / IT. Some may become CS / IT academics who will be more knowledgeable about practical software development than is the case now. The majority of them will typically take up industry software development jobs for which they will be far better equipped with the required software development practice skill set than they are now.

Acknowledgements


The author's software industry and CS doctoral student friends have provided valuable contributions to the author's Indian CS & IT academic reform activism blog: http://eklavyasai.blogspot.in/p/table-of-contents.html. These interactions greatly encouraged the author to attempt this rather daunting task of making a case for a software development career track in Indian CS & IT academia to improve the practice of software development in India. However, the author would like to clarify that the views in this paper are his individual views. The author thanks the reviewers of a noted academic publication focused on CS education for their critical comments which led the author to limit most of his views to the Indian context as that is what the author has studied and experienced, strengthen the article with more peer reviewed academic references and broaden its view with a brief study of software education in USA and some other countries.

References


1. Ravi S. Iyer, (Indian) CS & IT Academia: Serious Systemic Problems?, Blog post, Sept. 2011, http://eklavyasai.blogspot.com/2011/09/cs-it-academia-serious-systemic.html.

2. Bjarne Stroustrup, What Should We Teach New Software Developers? Why?, “Communications of the ACM”, Jan. 2010, http://cacm.acm.org/magazines/2010/1/55760-what-should-we-teach-new-software-developers-why/fulltext.

3. Bjarne Stroustrup, Programming in an undergraduate CS curriculum, WCCCE ’09, May 2009, Vancouver, British Columbia, Canada, http://www2.research.att.com/~bs/software.pdf.

4. Ravi S. Iyer, (Indian) CS & IT Academia: How To Relieve Suffering of Students, Parents and Employers, Blog post, Nov. 2011, http://eklavyasai.blogspot.com/2011/11/cs-it-academia-suffering-students.html.

5. Ravi S. Iyer, (Indian) CS & IT Academia: Inform Students About Software Contribution Record of Faculty, Blog post, Nov. 2011, http://eklavyasai.blogspot.com/2011/11/cs-it-academia-inform-students-about.html.

6. Ravi S. Iyer, (Indian) CS & IT Academia: Is Teaching Excellence Important?, Blog post, Jan. 2012, http://eklavyasai.blogspot.com/2012/01/cs-it-academia-is-teaching-excellence.html.

7. UGC (University Grants Commission) regulations on minimum qualifications for appointment of teachers and other academic staff in universities and colleges and measures for the maintenance of standards in higher education, 2010, http://www.ugc.ac.in/policy/revised_finalugcregulationfinal10.pdf.

8. NASSCOM: The National Association of Software and Services Companies, the premier software industry trade organization of India, http://www.nasscom.org/. CSI: Computer Society of India, a leading Indian CS & IT professionals body, http://www.csi-india.org.

9. Impact Factor of Scientific journals: A measure which is considered by Indian academic regulatory bodies to be reflective of relative importance of a journal within its field, http://en.wikipedia.org/wiki/Impact_factor

10. UGC: University Grants Commission, the apex academic body of India, http://www.ugc.ac.in/; 10a. University Grants Commission Mandate, http://www.ugc.ac.in/about/mandate.html; 10b. Professional Councils of UGC, AICTE entry: http://www.ugc.ac.in/inside/pcouncil.html#AICTE; 10c. Higher Education in India at a Glance, Feb. 2012, http://www.ugc.ac.in/inside/statistics.html; 10d. AICTE: All India Council of Technical Education: http://www.aicte-india.org/.

11. UGC National Eligibility Test (NET) has only one subject for CS & IT which is Computer Science and Applications: http://www.ugc.ac.in/inside/syllabus.html. The syllabus for Computer Science and Applications subject is available here: http://www.ugc.ac.in/inside/syllabuspdf/87.pdf.

The eligibility tests for Science subjects are conducted by a different organization, Council for Scientific and Industrial Research (CSIR), and that list, http://csirhrdg.res.in/Syllabi_NET.htm, does not have any CS & IT subject(s). But "Common Elementary Computer Science" questions are part of the syllabus of all Science subjects.

12. Pallab De, The State of Engineering in India, techie-buzz.com, May 2011, http://techie-buzz.com/discussions/engineering-colleges-students-india.html.

13. Geeta Anand, India Graduates Millions, but Too Few Are Fit to Hire, The Wall Street Journal, April 2011, http://online.wsj.com/article/SB10001424052748703515504576142092863219826.html.

14. Mark Tarver, Why I am not a Professor, Lambda Associates, 2007, http://www.lambdassociates.org/blog/decline.htm.

15. Computer Science (CS) / Computer Science & Engineering (CSE) and Information Technology (IT) departments in India offer:
  • B.E./B.Tech.(CS/CSE), M.E./M.Tech.(CS/CSE)
  • B.E./B.Tech.(IT), M.E./M.Tech.(IT)
  • B.C.A. and M.C.A. degrees.
[B.E. - Bachelor of Engineering, M.E. -  Master of Engineering
B.Tech. - Bachelor of Technology, M.Tech. - Master of Technology
B.C.A. - Bachelor in Computer Applications, M.C.A. - Master in Computer Applications.]
Model syllabus for:
16. A CS student, I'm graduating with a Computer Science degree but I don't feel like I know how to program, programmers.stackexchange.com, May 2010, http://programmers.stackexchange.com/questions/43528/im-graduating-with-a-computer-science-degree-but-i-dont-feel-like-i-know-how-t.

17. Dan Kegel, How To Get Hired -- What CS Students Need to Know, www.kegel.com, June 2011, http://www.kegel.com/academy/getting-hired.html.

18. V.S. Karnic, Tackling the 'graduate but unemployable' syndrome in India, IANS India, Jan. 2012, http://in.news.yahoo.com/tackling-graduate-unemployable-syndrome-india-063206080.html.

19. Varun Aggarwal, Aspiring Minds’ National Employability Report – Engineering Graduates, 2011, http://www.aspiringminds.in/docs/national_employability_report_engineers_2011.pdf.

20. Rupa Mahanti, P. K. Mahanti, "Software Engineering Education From Indian Perspective," cseet, pp.111-117, 18th Conference on Software Engineering Education & Training (CSEET'05), 2005, http://www.computer.org/portal/web/csdl/doi/10.1109/CSEET.2005.30.

21. Kirti Garg, Vasudeva Varma, "Software Engineering Education in India: Issues and Challenges," cseet, pp.110-117, 21st Conference on Software Engineering Education and Training, 2008, http://dx.doi.org/10.1109/CSEET.2008.36.

22. Lethbridge, T.C. et. al., "Improving software practice through education: Challenges and future trends", pp.12-28, Future of Software Engineering, FOSE '07, 2007, http://dx.doi.org/10.1109/FOSE.2007.13.

23. Software Engineering 2004 (SE2004), Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, http://sites.computer.org/ccse/.

24. IEEE Computer Society Certification & Training, http://www.computer.org/portal/web/certification/home; 24a. IEEE Computer Society Certified Software Development Associate (CSDA) credential, http://www.computer.org/portal/web/certification/csda; 24b. IEEE Computer Society Certified Software Development Professional (CSDP) credential, http://www.computer.org/portal/web/certification/csdp; 24c. IEEE Computer Society certification FAQ and Resources, http://www.computer.org/portal/web/certification/resources.

25. Reichlmayr, T.J., "Collaborating with industry: strategies for an undergraduate software engineering program", pp.13-16, Proceedings of the 2006 international workshop on Summit on software engineering education SSEE '06, 2006, http://dx.doi.org/10.1145/1137842.1137848.

26. Rochester Institute of Technology, Senior Project done by every RIT Software Engineering senior, http://www.se.rit.edu/senior-project.

27. Land, S.K. et al., "Software engineering certification in today's environment ", pp. 50 - 54, IT Professional, May-June 2012, Volume: 14, Issue: 3, http://dx.doi.org/10.1109/MITP.2012.21; 27a. Laplante, P.A., "Professional Licensure of Software Engineers", Side-bar article in [27]; 27b. Miller, K.W. "IT Professionalism and Licensure: Yes, But…", Side-bar article in [27]

28. IEEE Computer Society's Guide to the Software Engineering Body of Knowledge (SWEBOK), http://www.computer.org/portal/web/swebok.

29. Mead N. R., "Software engineering education: How far we’ve come and how far we have to go", pp. 571-575, Journal of Systems and Software, Volume 82, Issue 4, April 2009, http://dx.doi.org/10.1016/j.jss.2008.12.038.

30. ACM Fellow Profile: David Lorge Parnas, May 1999, http://www.sigsoft.org/SEN/parnas.html.


Appendix A


Review Remarks of Noted International Academic Publication and Response of Author


After a lot of consideration the author decided to take the unusual step of sharing review remarks for this article by a noted international academic publication focused on CS education. The editor-in-chief of the publication graciously provided permission to share the valuable review remarks of the knowledgeable reviewers in this appendix. The author thanks him and the publication for this kind gesture.

As the author sees it, the stake holders of software education imparted by UGC/AICTE recognised institutions in India are:
  1. Students (& Parents): They invest their time and pay the tuition fees.
  2. Teachers/Academics: They are supposed to be knowledgeable and do the primary task of imparting appropriate knowledge to students.
  3. Employers (Industry): They use the products of the education system (students-turned-graduates) to contribute to economic work and provide a livelihood for these students-turned-graduates.
  4. Funding agencies & regulators, namely MHRD (Ministry of Human Resource Development, http://mhrd.gov.in/), UGC & AICTE: They provide the tax payer contributed money for higher education (e.g. as UGC grants) and try to maintain good standards of education. They also look at nationwide issues and society issues like the needs of the country and imparting ethics. Further, they try to promote an environment that will encourage good education (attract good teachers, provide job security to teachers, give students a safe environment, etc.)
The author is of the opinion that this article/paper may not be easily accepted in a forum primarily controlled by one of the stakeholders here, namely the teachers/academics, as it is somewhat critical of them even though the criticism is mainly directed at the system rather than the individual academics. But the article/paper may find a lot of acceptance in forums of some of the other stakeholders especially students, parents, industry and perhaps even MHRD.

This article went through 2 rounds of review with the noted international academic publication. The first round feedback was incorporated in this version of the article, which is what was submitted for the 2nd round review (except for a minor difference in the title of the article). It was not found suitable for the publication in the 2nd round review though the reviewers had some appreciation for the article.

The author views the 2nd round reviewer comments and his response to them as a debate between CS academic viewpoint and industry software developer viewpoint. (The author is not an academic but a software design & development practitioner from the industry who helped out a CS department in an Indian educational institution, a deemed university, to improve the practice of software development in it). He opines that some stakeholders of software education like students, parents and industry practitioners may want to read this debate and that it may contribute to a better understanding of this issue among the public at large. Very importantly, the reviewers provided very knowledgeable comments which contribute significantly to the discourse on the topic. Therefore the author decided to share the review remarks and his response to them in this appendix.

Reviewer: 1
Comments to the Author
Author: Firstly, thank you very much for your valuable remarks. They have contributed significantly to my understanding of this issue from an international perspective.
Reviewer1: This paper makes an interesting and controversial case for creating career tracks in the Indian CS&IT academia for faculty who, instead of pursuing theoretical research, would opt for establishing academic credentials based on their output of open source software. Much of this seems to reflect from the author's personal journey from being a non-CS graduate, with extensive experience in the CS&IT Software Development industry, and then trying to "fit in" into the academic make-up of an Indian University which seems to be heavily regulated centrally.
Author: I disagree with a part of the last statement. I consider myself to be an accomplished industry-trained and self-taught software industry technical consultant, who, mainly as an Honorary Faculty/Visiting Faculty, provided free teaching and guidance service to students in software development/engineering and thereby contributed to strengthening the practice of software development/engineering in a CS department in India. I was not and am not interested to "fit in" the academic make-up of any Indian university at all - my intention was to help students learn the practice of software development well, and I believe I succeeded in no small measure in that regard. From my experience of Indian CS academia I had some suggestions to improve the practice of software design & development/engineering in it which I put forward in this article/paper.
Reviewer1: Many issues here: the first and foremost, whether the specific situation in Indian academia is worth publishing in ---publication-name-description-blinded--- with a much broader international audience. On the other hand, given that such situations exist in several countries, this is a good discussion starter to bring a broader awareness to the issues faced and the possible (in my mind, skewed) solution being proposed.

From what I gather, the main problem seems to be in the area of software engineering education.
Author: Yes, but the whole gamut of software engineering involving design, development, testing etc. and not just a software development process/life-cycle theory course. A published research paper mentioned that in India, "Most universities offer SE as just one of the courses along with other Computer Science courses.", Kirti Garg, Vasudeva Varma, "Software Engineering Education in India: Issues and Challenges," cseet, pp.110-117, 21st Conference on Software Engineering Education and Training, 2008, http://dx.doi.org/10.1109/CSEET.2008.36.
Reviewer1: While, on one hand, most CS&IT faculty in India seem to be primarily devoted to theoretical research, there seems to be a practice among academia of relaxing the qualifications for hiring CS&IT faculty due to the "paucity" of qualified faculty. It is easy to see that the poor quality of Indian CS&IT graduates being prepared for software development jobs in India upon graduation is an artifact of poor quality software engineering education (or a complete lack of it).
Author: I tend to agree with these views in the Indian context.
Reviewer1: The solution being proposed, to create UGC regulated mandates for separate faculty career tracks, is rather controversial, and perhaps misplaced when one sees it in the larger context of the role of academia. Much of the problem should, and can, be addressed by creating a well qualified pool of faculty in the CS&IT disciplines, software engineering included. Additionally, along with the faculty, to create educational tracks in CS&IT Departments at universities to teach software engineering curricula. Without a presence of these two things, it seems like a proposal to create accommodations for industry professionals to enter non-research tracks in academia, is misplaced and a poor solution.
Author: It certainly is *not* a proposal focused on creating accommodations for industry professionals to enter non-research tracks in academia. It is a proposal to provide career growth incentive for Indian CS & IT academics to excel in the practice of software development instead of focusing on research publication output and ignoring excellence in practice of software development. Industry professionals being accommodated in a non-research software development career track is a secondary and optional part of what this paper proposes, which in my opinion, has significant value for improving the practice of software development in Indian CS & IT academia.
Reviewer1: This can be detrimental to the intrinsic health and make-up of an entire higher educational system. The case is made, based on faculty in the Performing Arts which tends to be one of the few outliers in this regard. Even in Performing Arts, there is much resistance. Ordinary, day-to-day practitioners of the art seldom attain faculty status even in the Performing Arts.
Author: In India, it is common to see faculty of the performing arts deliver a performance to the public which leaves students, parents and the public in general in no doubt as to the practical skill of the performing arts faculty. In marked contrast, there is huge amount of doubt in the mind of students, parents and the public in general about the practical software development/engineering skill of most Indian CS & IT academics.
Reviewer1: Besides, there are existing models that accommodate "both" classes of faculty in a single framework that are present outside India that need to be examined. For example, giving academic credit for software artifacts during the promotion and tenure process is widely promoted by the Guidelines published by the Computing Research Association (in the USA). The author should take a look at that.
Author: It is interesting and it will be good if Indian academic regulations take note of it and provide significant academic credit for software artifacts. I agree very much with the view expressed therein that, "Assessing artifacts requires evaluation from knowledgeable peers." In the Indian context, in my opinion, at least in the short term, it is the software industry which has the capacity to provide enough numbers of knowledgeable peers to evaluate software artifacts produced by Indian CS & IT academia.
Reviewer1: Much of the surveys presented in the paper are about the state (or lack there of) of software engineering education in India. To suggest that a government regulated body create a "practitioner track directed to serving a dimension of a transient and evolving industry" and further put into place specific software-based evaluation metrics for the hiring, promotion, and career advancement of such faculty is a bizarre idea that makes for an excellent blog post, or an opinion piece.
Author: I humbly submit that as a practitioner of software development I find it bizarre that, in the key regulations that govern Indian CS & IT academia, there is zero career growth incentive to excel in the practice of software development. That, in my opinion, is the key reason for such poor quality of software engineering/software development skills in most Indian CS & IT academics.
Further, I believe that the huge growth of the software design & development field in India is enough reason to seriously consider the suggestion of a specific Indian academic career track which focuses on software design & development. It may be a very strange suggestion for academia in general but the software revolution in the past few decades has changed India and the world quite a bit and Indian academia may need to look at new ways to effectively handle its duties of teaching Indian students the vital skill of software design & development.
Reviewer1: This submission to ---publication-name-blinded---, in this sense, is misplaced.


Reviewer: 2
Comments to the Author
Author: Firstly, thank you very much for your valuable remarks. They have contributed significantly to my understanding of this issue from an international perspective.
Reviewer2: It is good to see a paper addressing issues relating to the relevance and quality of computing education at a national level in India, and the challenges in preparing competent practitioners for the local IT industry.  Such a discussion has potential to be of interest to ---publication-name-blinded--- readers.  However the solutions proposed fail to take into account several critical issues.
The move beyond computing as CS, EE or IS to a broader set of cognate computing disciplines in a wider family as noted in the ACM 2005 overview report. Therefore institutions need the flexibility to adapt curricula to meet both local conditions and international standards.  A highly rigid national framework militates against such adaptability, and thus we see private organisations filling the gaps by providing vocationally focussed certifications.  If the core degree learning provides a sound underpinning education, then maybe this is ok?
Shackelford, R., Cassel, L., Cross, J., Davies, G., Impagliazzo, J., Kamali, R., Lawson, E., LeBlanc, R., McGettrick, A., Slona, R., Topi, H. and vanVeen, M. Computing Curricula 2005 The Overview Report including The Guide to Undergraduate Degree Programs in Computing, Joint Task Force ACM, AIS, IEEE-CS, New York, 2005, 46.
Author: The above document seems to be a very well thought out and well researched document from a North-American perspective. However I do not know how well it can help solve the problem of very poor practice of software design & development in Indian CS & IT academia which is heavily influenced by the regulations and guidelines of UGC & AICTE.
Reviewer2: It needs to be recognised that the nature of the CS/SE divide is historical and long standing, [as is the role of programming in CS] but the divide is arguably one of the strengths of CS and SE that both theory and practice must interrelate in the achieving of outcomes – so education should recognise this in some form.  Cf. for instance the discussion below:
Lister, R., Berglund, A., Clear, T., Bergin, J., Garvin-Doxas, K., Hanks, B., Hitchner, L., Reilly, A. L., Sanders, K., Schulte, C. and Whalley, J. Research Perspectives on the Objects-Early Debate. SIGCSE Bulletin, 38, 4 (Dec 2006), 146-165.
Author: Noted.
Reviewer2: “These distinctions can be traced back to the origins of the discipline, and early schisms “between the logicians and the technicians”, (Clark, 2003) depending upon whether one came from a more theoretically oriented mathematical background, or a more practically oriented engineering background”.

The role of the SE discipline has always been problematic, and the tensions between the body of knowledge, the evolving nature of practice in the field, what skills should be taught and the nature of the academy and its value systems has always been an issue.  But University systems are by their nature international, and local solutions which focus primarily on the vocational teaching mission [with a goal of producing immediately productive ‘drones for industry’] without doing equal justice to the research mission, are likely to result in reputational damage to the institution.  Cf. the discussion below:
Clear, T. Software Engineering and The Academy: Uncomfortable Bedfellows? SIGCSE Bulletin, 36, 2 (June 2004), 14-15.
Author: I read some other messages in the above article:
"Reflecting upon how this experience had enriched his teaching upon his return to the academy, he also noted that few engineering educators possessed any experience of engineering practice."
...
"If we consider medicine as an analogous profession, have not the medical educators themselves completed clinical practice requirements? Would doctors who had never practiced be regarded as credible professors of clinical medicine? Why do we privilege the doctoral qualification over the practice credentials in the case of our software engineering professors?"
...
"Being prepared to recruit ex-practitioners without PhD qualifications, and recognise their value in non-traditional ways may be strategies vital to success in teaching a quality software engineering programme."
In my opinion the above views match the views expressed in my paper.
Reviewer2: But I doubt that measuring an academic’s software capability and contribution by open source software production is practicable.  (Although for the ‘R’ statistical software package, newly contributed and specialised statistical modules are formally peer reviewed before acceptance).  For instance Open Source is but one mode of software development.  What of the skills of developing proprietary software in teams?
Author: The problem with proprietary software would be availability of source code for reviewers. I guess this would be similar to proprietary research work which is not published in academic research publications and therefore may not contribute to an academic's career growth directly.
Reviewer2: What of domains of application? What of experience of software engineering gained through research involvement with software development firms?  Such partnership models are often applied as academics move away from regular software development, and perhaps through supervision of development by students, to a more theoretical, SE process, SE practice or managerial SE research focus.
Author: The software contribution record that I suggested looked only at software contributions. It can be discussed whether it should be expanded to include some of the above suggestions and the manner in which it should be included.
Reviewer2: The reality of the research teaching divide is also endemic in the academy, as developed in the paper below, and as recently observed by the Business School Accreditation Body AACSB’s Blue Ribbon Committee in the report below:

Clear, T., Valuing Computer Science Education Research? [Invited Presentation]. in 6th Baltic Sea Conference on Computing Education Research  (Koli Calling 2006), (Koli, Finland, 2006), Uppsala University, Uppsala.
AACSB. Discussion Paper – Relationship Between Research and Teaching, AACSB Blue Ribbon Committee on Accreditation Quality 2011, 1-5.
Author: Noted.
Reviewer2: In other systems when hiring academics, their skill sets are carefully considered against the needs of the department.  It is unlikely that an academic with no knowledge of software engineering practice would be hired to teach a software engineering course, although they may teach a math course or a course in theoretical CS.
Author: Unfortunately what Clear,T. wrote (mentioned earlier), "few engineering educators possessed any experience of engineering practice" applies very well to Indian CS & IT academia. Career growth incentive to them to improve in software engineering practice may lead them to make efforts to do so. Otherwise it is natural that they will be attracted only towards producing research publications as that provides career growth.
Reviewer2: As presented, while there is active debate in many of these areas, the paper does not fully address the issues [disciplinary, institutional, cultural, political] that are obstacles to implementing such a nationwide programme of change in the Indian Higher Education System.
It poses a challenging set of questions in the context of the author and his perspective on computing education in his country, and how practice and theory gap might be reduced.  To that extent the issues are important to all computing educators, so a debate could certainly be had.  As it stands unfortunately the paper lacks the dimensions to productively lead that debate.

With a more considered set of proposals and a wider understanding of the academic setting and how to effect change in a complex context with local and global dimensions, there could be a stronger candidate for publication.

Ten Computer Science (CS) & Information Technology (IT) higher education policy changes to improve practice of software development in India

I submitted the following today (25th August 2014), with the same title as that of this blog post, to an appropriate Indian govt. online forum (which is accessible only to its registered users - but any Indian citizen can easily register in it for free):

1) Have two career tracks for CS/IT academics: Research Oriented and Software Development Oriented
2) Like the measure for competence in research for the CS/IT academic is the research publication record, the measure for competence in software development of the CS/IT academic should be the quality and quantity of his/her software contribution record.
3) Change teacher eligibility tests (NET/SLET/SET) for CS & IT disciplines to have 50% weight-age practical test (on computer) involving programming and some amount of design, and 50% weight-age on theory.
4) Allow industry-trained & self-taught professionals who are not academically qualified in CS/IT to become CS & IT Teachers by clearing teacher eligibility tests (NET/SLET/SET)
5) Encourage industry professionals to contribute as well paid visiting faculty/industry consultants.
6) Study CS/IT professional licensure & certification in USA and other technologically advanced countries and explore possibility of introducing similar CS/IT licensing and certification exams in India.

For more on points 1 to 6, see my paper, "Improve the Practice of Software Development in India by Having a Software Development Career Track in Indian CS & IT Academia", http://arxiv.org/ftp/arxiv/papers/1202/1202.1715.pdf

7) Teachers who create course material for a course (as against using course material from other sources) should have their course material reviewed by other teachers just like research papers are reviewed. Appropriate career growth related credit should be given to teachers whose course material gets a good review. The review may include student assignment submissions including source code, so that reviewers get an idea of how students are benefiting from the course.
8) Lab. courses should be evaluated as strictly as theory courses. It should have external examiners like theory courses. There should be no hesitation in failing students who fare poorly in assignment submissions and exams. Administrators should examine lab. course result patterns and compare it with theory course result patterns. Very high success rates in lab. courses contrasted by quite different success rates in theory courses should ring alarm bells and invite investigation.
9) Lab. course credits should be at least equal to theory course credits. Further, the number of lab. courses should be roughly equal to the number of theory courses. [I believe, the typical current ratio is 4 to 5 theory courses and 2 lab. courses in a semester, with theory courses having 3 credits and lab. courses having 2 credits.]
10) The practice of relegating lab. courses to junior teachers must be abandoned. Given the vital importance of practice in CS/IT, senior teachers should teach lab. courses.

For more on points 7 to 10, see my blog post, Concrete Suggestions for Measuring Teaching Quality in Practice-Oriented Computer Science/Information Technology streams, http://eklavyasai.blogspot.in/2013/06/concrete-suggestions-for-measuring.html

Friday, August 22, 2014

Pageviews of this blog cross 10,000 over nearly 3 years; Top ten audience countries & posts

Last updated on 23rd August 2014

Period: The posts (excluding first post not related to academia) are from Sept. 2011 to now (Aug. 2014) i.e. around 3 years

Total published posts: 127

Total pageviews: 10,006 [My guesstimate is that Reference spam accounts for 15 to 20 percent of this count]

The total pageviews is not a large number given the number of posts and the period. However there are some visitors almost every day, if not every day, viewing some post or the other. The typical monthly pageviews in the recent past is above 300 views. So I think the objective of sharing my views and the contributions from various contributors and mail correspondents with interested people out there on the Internet has got met to some extent. Around 10 percent of the pageviews are referred by search engines like Google.

Audience - top ten countries

EntryPageviews
United States
2850
India
2027
Russia
883
Germany
450
Ukraine
324
United Kingdom
291
France
237
Brazil
174
Poland
157
Turkey
143

Interestingly the highest pageviews are from USA and not India. Viewers from other countries like Russia, Germany and Ukraine also have shown some interest in the blog.

Top ten posts

Steve Jobs: The iPhone Introduction (2007) - 218 views
CS & IT Academia: Serious Systemic Problems? - 140 views
Programming: Practical Solution Mindset vs. Scientific Mindset - 137 views
Off-Campus PhD Degrees - Assam State Government to reduce pay of teachers with such degrees! - 130 views
Comments on Stroustrup's paper, "Software Development for Infrastructure" in IEEE Computer, Jan. 2012 - 123 views
CS & IT Academia: How to Teach Programming? - 114 views
Napster, mp3 music industry disruption and MOOC - 113 views
Online Programming Courses: Use MIT's OCW or IIT's NPTEL or Stanford's SEE - 102 views
Georgia Tech, Udacity and AT&T offer Online MS degree in CS under $7000 - 99 views
Should M.Tech.(CS) Project be CS Research Oriented Or Software Engineering Project Oriented? - 90 views

Important pre-print academic paper (external link) related to this blog

A pre-print paper of mine titled, "Improve the Practice of Software Development in India by Having a Software Development Career Track in Indian CS & IT Academia", put up on arxiv.org hosted by Cornell University, USA, http://arxiv.org/abs/1202.1715 (Pdf: http://arxiv.org/pdf/1202.1715), is shown as the top/first result in Google search (from incognito Chrome window on my PC on 23rd August 2014) for the following terms:

  • poor software development skills Indian CS graduates
  • poor software development skills Indian Computer Science graduates
  • improve software development skills Indian CS graduates
  • poor practice of software development Indian CS graduates
  • poor practice of software development Indian Computer Science graduates
  • improve practice of software development Indian CS graduates
  • improve practice of software development Indian Computer Science graduates

It is the 2nd result for this Google search term:

  • improve software development skills Indian Computer Science graduates


As arxiv.org does not show the number of views of the abstract and paper I do not have any idea of how many people viewed the abstract and/or paper.

Though it is a pre-print paper, i.e. not published in a peer reviewed publication (journal/conference proceedings/academic magazine), it has received one citation as listed by Google scholar: http://scholar.google.co.in/scholar?cites=1891958383761188275

I wrote to the editor (perhaps it was editor-in-chief) of the famous international computing field publication, Communications of the ACM, http://cacm.acm.org/, many months ago, perhaps over a year ago, who responded that while I was welcome to submit the above paper to the peer review process of CACM, he wrote something to the effect that his view was that it would be of limited appeal (as it dealt only with Indian CS/IT academia, I presume). I then decided not to invest my time in that peer review process.

Some months ago I wrote to the editor of a well known and high-level (in terms of policy debate) publication, I believe, of India dealing with a variety of fields like politics, economics, sociology etc., Economic and Political Weekly, http://www.epw.in/, wondering whether they would be interested in considering this paper for review and possible publication. I got no response from them.

Thursday, August 21, 2014

Great article about Fields Medal winner Manjul Bhargava and his blend of Maths, music & poetry (incl. Sanskrit poems) interests

Last updated on August 22nd 2014

An old friend passed on this link, The Musical, Magical Number Theorist, http://www.simonsfoundation.org/quanta/20140812-the-musical-magical-number-theorist/, which I found to be a great read giving insights about the prodigy that Manjul Bhargava, http://en.wikipedia.org/wiki/Manjul_Bhargava, seems to be as well as some details of his prodigious accomplishments. The article also covers Bhargava's blend of interests in Mathematics, Music (Tabla) and poetry (including old Sanskrit manuscripts capturing some Mathematics in poems). I must also mention that I did not understand some of the Mathematics references in the article :).

The sub-title of the article is interesting, "The search for artistic truth and beauty has led Manjul Bhargava to some of the most profound recent discoveries in number theory."

And I think the first two paragraphs of the article summarize Bhargava's interests and approach quite well. I have given below the second small paragraph of the article

Bhargava’s mathematical tastes, formed in his earliest days, are infused with music and poetry. He approaches all three realms with the same goal, he says: “to express truths about ourselves and the world around us.”

--- end extract ---

One of the correspondents to whom the mail having the link was sent (it was sent to a group of old friends/ex-colleagues) mentioned something to the effect that Bhargava could make it big because he was in the USA. Had Bhargava been in India he would not have flourished due to Indian bureaucracy.

My response (slightly edited) was:

Sure, Bhargav was able to make it big far more easily in the USA than in India. But I am not sure if that's the fault of Indian bureaucrats. I think the issue is related to economic prosperity of USA as against developing nation status of India. To make it a little concrete, http://en.wikipedia.org/wiki/List_of_colleges_and_universities_in_the_United_States_by_endowment states that Princeton has an endowment, as of 2013, of over $18 billion!!! [Bhargava is with Princeton now and had also spent time in Harvard.] Harvard's figure is 32 billion, Yale is 20 billion and Stanford is 18 billion. These seem to be in the top five universities in USA by endowment. http://en.wikipedia.org/wiki/Princeton_University states, "By endowment per student, Princeton is the wealthiest school in the United States."

Further, "Princeton University is a private Ivy League research university in Princeton, New Jersey." I think Harvard, Yale and Stanford too are private universities. I.e. Government does not pay salaries and other expenses of these universities, though these universities may win research grants from govt. funded institutions like the National Science Foundation, http://en.wikipedia.org/wiki/National_Science_Foundation.

As I have been reading up a little on Indian academia I think I can say that India has no private university which is anywhere close to these universities in terms of funding (endowment). The premier research (and teaching) institutions of India - IITs, IISc, IIMs are all heavily, if not fully, govt. funded institutions. While the faculty there are treated with great deal of respect I don't think the research environment can match the US private Ivy league universities, mainly because of the huge difference in financial outlay. Further, I think that fair bit of additional responsibilities are put on faculty of these elite institutions.

Regarding Indian bureaucracy vis-a-vis Indian academia, I think elite Indian universities are treated with a lot of respect by Indian bureaucrats (of MHRD). Most internal administrative matters including hiring and promotion, I think, are handled by academics in administrative positions in these universities with bureaucrats not daring to interfere. I mean, if MHRD bureaucrats try to interfere with such things in an IIT or IISc the top scientists  may complain directly to the Prime Minister directly. These top scientists of elite institutions have that sort of access and carry a lot of clout with the govt.

I should also add that nowadays the research setup in these elite Indian universities seems to be pretty good in comparison to what it was some decades ago. I think that is due to India's improved economic condition leading to significantly more money being provided to these institutions. Money for going abroad for interactions with top foreign scientists also does not seem to be a big issue for academics/researchers of these elite institutions. For fields like Mathematics which do not need very expensive labs., I think elite Indian institutions today may be quite a decent place.

--- end response ---

Another friend said something to the effect that we should set aside India, America ... and enjoy Bhargava's accomplishments. I agreed with her. And added:
BTW I was Honorary Staff/Honorary Faculty/Visiting Faculty for nine years (2003 to 2011) in a Dept. of Mathematics & Computer Science, which was far more of a Mathematics dept. than a computer science dept. For these Maths guys the Fields Medal is the Nobel prize for Mathematics!!! And, as an abstract field which has has been around for centuries and millenniums to be more precise, it takes serious intellectual skills to master some of these Maths areas let alone make breakthroughs in new research. [From http://en.wikipedia.org/wiki/History_of_mathematics: "From ancient times through the Middle Ages, bursts of mathematical creativity were often followed by centuries of stagnation. Beginning in Renaissance Italy in the 16th century, new mathematical developments, interacting with new scientific discoveries, were made at an increasing pace that continues through the present day."]

So even if Bhargava is a born in Canada and raised mainly in America person but whose parents hailed from India, I think it is very nice that somebody with some Indian roots made it so big in Mathematics and that too at quite a young age (40 is young for these kind of top-notch research prizes, I gather).