CS 574 Object-Oriented Analysis and Design

Theory of object-oriented design, classes, interfaces, inheritance hierarchy, and correctness; abstract data types, encapsulation, formal specification with preconditions, postconditions and invariants, and proofs of correctness; object-oriented software, objects and classes, genericity, inheritance, polymorphism, and overloading; single and multiple inheritance, programming by contract, subclassing as subcontract, specification, and verification; programming language examples include C+ +, Java, Smalltalk, and Eiffel. Pre-req: Undergraduate data structures and algorithms OR CS 590

Credits

3

Prerequisite

(CS 385 or CS 590) and (Grad Student or (Junior or Senior))

Distribution

Computer Science Program

Offered

Fall Semester Spring Semester Summer Session 1 Summer Session 2