Dr. Bharat B. Aggarwal first started programming in 1975 on an IBM mainframe at IIT Kanpur. After getting his PhD in Mechanical Engineering from University of Massachusetts, Amherst, he worked in fields of engineering R&D and technical software development in the USA and India. He has programmed in many programming languages including Assembly Language (Intel and DEC), BASIC, LISP, Smalltalk, Prolog, FORTRAN, C, C++, Java and C#. His development experience includes web programming, business software, engineering software and real-time control software. He has also taught programming to college students and working professionals. His primary focus is on encouraging the use of programming as tool to promote creativity and to solve everyday problems.