CS 520 Object-Oriented Programming & Design
The fundamental concepts of object-oriented programming, including object-oriented modeling and design. The focus of the course will be to help students create programs that model their application domain, that exhibit that model to other programmers who read the code, and that are as a consequence maintainable and robust to change. Issues addressed may include data abstraction and modeling, the use and misuse of inheritance, higher-order data structures and their operations, reusability, refactoring, concurrency control, and usability. Includes programming assignments in an OO language.