This course is designed as an entry level programming course for students who have prior programming experience. This course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. He course begins with a brief review of control structures and data types with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design.