Object-Oriented Analysis and Design

Course Number: 
CS 574
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.
Prerequisite(s): 
Credit Hours: 
3.00
Lecture Hours: 
3.00