ECE 255 provides an intensive focus on conceptual and practical
aspects of designing, implementing, and debugging complex concurrent
and distributed software systems using middleware. 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 TAO), 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 ECE 255 home page.