Next: Driving Problems
Up: Introduction
Previous: Motivation for Collaborative
We can study the area of collaboration systems from multiple,
overlapping views:
- Problems:
What are the problems that collaborative applications can solve and
what kind of features are needed to solve these problems?
This view ensures we are building systems
that solve real problems and allows us to develop specialized solution
for a problem.
- Issues
What are the independent technical issues must be resolved by these systems and in
what ways?
From a systems point of view,
this is perhaps
the ''purest'' approach in that it eliminates repetition of technical issues
and allows us go in-depth into each of these issues.
It corresponds, for instance,
to the teaching of operating systems by identifying the technical issues such as
process management, memory management, and process coordination;
and teaching each issue in-turn.
- Systems:
Which collaboration systems (applications and infrastructures)
have been built and what are their properties?
Most systems are collections of carefully integrated features,
and this view allows us to understand specific collaboration constructs in the
context of complete systems.
It corresponds, for instance, to the
teaching of programming language constructs
using the comparative programming language approach,
that is,
teaching and comparing a variety of complete programming
languages such as Ada, ML, Smalltalk, and Prolog.
- Disciplines:
Which existing CS areas/disciplines do they extend and in what ways?
This view allows us to understand new collaboration constructs in relation to
existing concepts,
thereby ensuring that we build on the knowledge and insight
developed by traditional fields.
We can use these views to now define the nature and scope of this course.
Prasun Dewan
Mon Jan 13 14:41:48 EST 1997