This advanced object-oriented programming (OOP) course expands on key OOP methodologies and concepts including objects/classes with properties, fields, and methods, inheritance, interfaces, collections, generics and exception handling. This course also covers designing and handling events and creating custom user controls. A substantial component of this course is the collaborative development of a significant GUI-based game/simulation application using the C# programming language and the .NET framework. An understanding of the object-oriented programming fundamentals presented in OOP I/II is a requirement to be successful in this course