Advanced concepts of OOP and their realization in C++. Topics to be chosen from among the following: Polymorphism and multiple inheritance in C++, The C++ object model, memory management internals, exception handling and safety, templates and partial specialization , auto pointers, traits and traits classes, the Standard Library, the STL - its use and its internals, generic programming, design patterns, advanced programming paradigms and techniques such as proxy classes and multiple dispatch.
Note: This course may be used to satisfy the "Software Semicore" requirement for graduate students.
Prerequisite(s):
CSCI 381.3: CSCI 313
CSCI 780: Completion of all conditional courses