CS 396-4 provides an intensive focus on conceptual and practical
aspects of designing, implementing, and debugging complex concurrent
and distributed software systems using QoS-enabled component
middleware. Key topics covered in this course include:
Design and implementation based on patterns and frameworks are central
themes to enable the construction of reusable, extensible, efficient,
and maintainable distributed system software. In addition,
abstraction based on patterns and OO techniques (such as separation of
interface from implementation) 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 system software.
- Developing, documenting, and testing applications using
object-oriented frameworks associated with
- Reuse of patterns and software architectures
- Developing distributed systems using OO languages (C++),
OO frameworks (ACE), and CORBA (TAO and CIAO).
Patterns will be taught so that you will have good role models for
structuring their own designs, as well as to clearly articulate the
tradeoffs of alternative methods for designing systems. OO techniques
will be taught so that you will learn by example how to build highly
decentralized distributed system software architectures that decouple
inter-dependencies between components.
We will construct distributed system components and applications using
popular programming tools available on modern operating systems, such
as make, emacs, CVS, C++, CORBA, ACE, TAO, and
CIAO. You are
expected to be familiar with C++ and UNIX or Windows.
The following is a more detailed overview of the course contents.
Lecture material for each section are available as online handouts.
Back to CS 396-4 home page.