CS544 provides an intensive focus on conceptual and practical aspects
of designing, implementing, and debugging complex concurrent and
distributed software systems. Topics covered include event-driven
software architectures, distributed object computing, and developing,
documenting, and testing applications using object-oriented frameworks
and design patterns. Design and implementation based on distributed
computing tools (such as sockets, CORBA and Netscape), object-oriented
communication frameworks (such as ACE), and
languages (such as C++ and Java) are central themes to enable the
construction of reusable, extensible, efficient, and maintainable
concurrent and distributed software systems.
Abstraction based on patterns
(such as Proxy,
Object, and Broker)
and object-oriented techniques (such as separation of interface from
implementation, inheritance and polymorphism, and generic programming)
will be the central concepts and principles throughout the course.
These concepts and principles will enable you to construct reusable,
extensible, efficient, and maintainable distributed software.
Several in-depth case
studies will be used in class to illustrate the use of
object-oriented techniques to design and implement high quality
distributed software systems.
Back to CS544 home page.