This course introduces basic concepts of computer programming such as elementary programming, data types, expressions, simple algorithms, and problem solving involving sequential statements, conditionals, and iterations. Students learn routines or methods as fundamental concepts and practice using strings, arrays, lists, maps or dictionaries, predefined libraries and classes, abstraction mechanisms and basic object-oriented programming concepts. Students will practice related activities of software development life cycle such as system requirement analysis, debugging, testing and validation