Object-Oriented Software Principles

CAS CS 511

Specification, programming, and analysis of large-scale, reliable, and reusable Java software using object-oriented design principles. Topics may include object-oriented programming, object models, memory models, inheritance, exceptions, namespaces, data abstraction, design against failure, design patterns, reasoning about objects.