CS/SWE 332 Course Syllabus
Object-Oriented Software Design and Implementation
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
Demonstrate knowledge of how to apply
object-oriented specification and analysis techniques to C++ and Java programs.
Demonstrate ability to specify object-oriented contracts, both as
comments and with tools (eg JavaDoc).
Demonstrate knowledge of specification and implemenatation of exception handling in Java and C++ programs.
Demonstrate ability to apply UML modeling to Java and C++ programs.
Demonstrate knowledge of the object creation and destruction issues
in Java and C++.
Demonstrate knowledge of impact of inheritance on analysis of common
Demonstrate knowledge of consequences of mutability decisions in object-oriented programs.
Demonstrate knowledge of generics in programming C++ and Java.
For more information, please see the
332 course web page.