One of the major problems every IT company faces after hiring students is to make them productive at work by providing training. After graduation, most of the students are good in writing programs but they lack the skill to write softwares. One reason for this issue is due to the fact that most of the students do not work on writing softwares in their curriculum. They practice only simple programs taught by their lecturers and never attempt to build a large system due to the lack of knowledge on analysis, design techniques, development and debugging tools.
Most of the university syllabus contain C, C++ and Object oriented analysis and design. But the knowledge level of students after undergoing these subjects is very poor for writing softwares.
We need to change the approach while teaching programming languages as follows
1. C language is taught with emphasis on 16 bit programming(Turbo C which got outdated 15 years back in Industry) rather than 32 bit programming(gcc,…) which is required by the industry. The syllabus should include development, testing and debugging tools used in the industry.
2. C++ language is taught with emphasis on constructs of the language provided for OO rather than OO concepts. OO should be taught first before OO Languages like C++, Java or C#
3.OO is taught with real life objects but the issue is that it does not relate to the software development. Examples like animal and dog for inheritance are poor examples to teach OO.
4. Atleast one project during curriculam should cover the complete lifecycle of the project as it is done in the Industry.
5.Atleast one assignment should be included in the curriculam which involves understanding of any open source software. This will open up their mind to understand large source tree and how products are developed.