Faculty of Engineering and Technology, M. S. Ramaiah University of Applied Sciences, Bangalore, 560 054
*Contact Author e-mail: pvrmurthy.cs.et@msruas.ac.in
Online published on 18 February, 2020.
New Software based systems are being built in all engineering domains and their number is on the rise. Thus there exists a demand for high-quality professionals who can develop reliable and maintainable software for building such systems. It is also widely known now that, more often than not, software components are the weakest link in terms of being the triggers for system failures. In this context, programming is an activity that needs to be carried out with rigour and discipline to develop reliable and maintainable software. This article argues that it is only right learning of programming by our undergraduate students in our colleges and universities in India that can address the requirement of high-quality professionals being involved in developing software for various systems. However, this is possible only if right teaching methodologies of programming are practised by the teachining community in various science and engineering colleges in India. A survey of the foundational priniciples of procedural programming is carried out first and then teachers are given novel recommendations about how to collect data about the learning deficiencies of students in a systematic manner. Availability of such data can throw light on the wrong assumptions or stumbling blocks that act as an impediment in the effective learning of programming by students. Novel methods of carrying out self-review, by students, of their own programs and reviews of student programs by teachers during evaluation to identify classes of program logic errors that students usually commit are proposed.
Programming, Test Driven Development, Mutation Operators, Structured Programming, Loop Invariant