Students will be expected to read research papers and participate in class discussions. In addition, they will do design and/or programming projects. They will be encouraged to work in teams and integrate their projects with other class projects. There will be no exams-instead students will give project reports and/or demonstrations, They will also be expected to make class presentations on their projects - one during the middle of the semester and one at the end of the semester.
At UNC, we are currently involved in building a comprehensive, Java-based collaboration infrastructure, called the collaboration bus, supporting composition of implementations of different collaboration functions and interoperability among different implementations of the same collaboration function. For instance, it would allow composition of implementations of the undo and coupling collaboration functions and interoperability between different implementations of undo. Students are encouraged to design/build/evaluate the different modules of this infrastructure. In particular, they are encouraged to address the design and implementation issues above in the context of the collaboration bus. They can address a single issue in-depth or several broadly. For instance, a project can provide comprehensive support for concurrency control in VR interfaces, or basic support for coupling, concurrency-control and access-control in VR interfaces.
In particular, these projects can investigate the kind of generic Java objects needed, in to support the implementation of:
Students already involved in collaboration projects will be expected to extend this work in this project.