This course is a hands-on laboratory in Object-Oriented Programming (OOP). Students will learn how to design and implement programs in an object-oriented, high-level programming language. Topics include C++ programming concepts, structures, functions, objects and classes, constructors and destructors, operator overloading, virtual functions, friend functions, the this pointer, inheritance, pointers and references to objects, streams, and templates. A set of laboratory experiments will provide practical experience with these concepts.