This course is an introduction to the programming language, system or software methodology. It emphasizes problem solving, algorithm development, and implementation of algorithms as computer programs in an object-oriented language. Other topics will include data representation, programming style, program testing and analysis of algorithms.