EG 1305 Object-Oriented Programming and Design - 3 semester hours
Introduction to object-oriented programming, classes, objects, data members (class attributes), methods (member functions or class behavior), data abstraction, and encapsulation. Software reuse. Constructors, destructors, and inheritance. Operator overloading. Virtual functions and polymorphism. Stream Input/Output. The preprocessor. Object-oriented analysis and design methodologies and their role in the software development process. The Unified Modeling Language (UML) as a design and development tool. Extensive use of OOP programming is required. A class project is included requiring use of the UML to develop a sizable software application. A professional oral presentation and a well-written report are required. Prerequisite: EG 1302 or EG 1304 or CS 1410.