Title: Effective Programming

Speaker: Dr. Nirmal Kumar Sancheti

Date: October 15, 2008

Abstract:

Do you ever wonder what kind of Algorithms to use in real life. With the systems being complex, the level of programming abstraction has definitely has gone up. How to meet the challenges of efficiency in the programs when the systems grow complex. A related topic is about the programs being maintainable across generations of the systems and robust so that the changes in the systems are carried out without much pains.

With the embedded software systems becoming increasingly complex and the pace of growth as much as ever, there is a need to apply effective programming techniques which were prior considered only appropriate for desktop computing. Programming is not all about just solving the problem somehow. This talk focuses on two aspects of programming.

  1. Efficiency: This part discusses efficient programming techniques. Efficiency includes both execution time and memory. This section will provide insight into how to analyse, improve and measure the complexity of the software with examples. Techniques for efficiency are discussed at system, design and code level. Case studies are included to see practical examples.

  2. Elegance: Any code is developed once, but maintained for much longer. Often, the code written for a product lasts much longer than the product, and gets used in a number of subsequent products not originally intended. This part of the tutorial discusses some techniques for coding discipline, guidelines and nice programming.

About the Speaker:

Dr Nirmal Kumar Sancheti (M.E., Ph.D., IISc) is VP of Engineering at AllGo Embedded Systems. Prior to leading operations at AllGo, he has built Embedded Software groups at Motorola, Philips and Insilica. Nirmal also runs Sankalan, a training organization for corporates with a focus on productivity improvement through building concepts. Nirmal's training interests are in the areas of efficient and maintainable programming, software development processes and software testing. He has conducted training programmes in the areas of Linear Algebra, Effective Programming and Developing Quality Software at Motorola, Philips, Conexant and Indian Institute of Science Bangalore. With his vast experience of leading teams to develop programs for the embedded systems he is going to share some examples of why the projects fail sometimes mainly because the underlying system is not robust enough and is not maintainable.