This course introduces students to efficient problem-solving using the Python programming language. Basic aspects of Python programming are presented, including numeric and symbolic data, operators, expressions, control structures, functions, methods, objects, and classes. OOP Python syntax, including class abstraction and encapsulation, inheritance, polymorphism, and exception handling, will be explained. A variety of data collections, including lists, multidimensional lists, tuples, sets, and dictionaries are discussed. Techniques for file manipulation, data format and encoding, and regular expressions are described. We recommend that students take COS 230 first.