CS/SWE 332 Course Syllabus
  
Object-Oriented Software Design and Implementation
   
Course Description
In-depth study of software design and implemenation using a modern,
object-oriented language with support for graphical user interfaces
and complex data structures.
Topics covered will be specifications, design patterns,
and abstraction techniques,
including typing, access control, inheritance, and polymorphism.
Students will learn the proper engineering use of techniques such
as information hiding, classes, objects, inheritance,
exception handling, event-based systems, and concurrency.
Professor:  Paul Ammann 
Course Outcomes
- 
Demonstrate ability to specify and analyze stand-alone procedures 
and OO classes. 
- 
Demonstrate ability to specify and analyze OO inheritance decisions.
- 
Demonstrate ability to convert mutable data types to 
immutable data types and vice versa.
- 
Demonstrate ability to correctly create and destroy OO objects.
- 
Demonstrate understanding and competence in generic programing.