Prasun Dewan
Fall '09, TR
11:00-12:15, SN 115
Prerequisites: Object-Oriented Programming and Data Structures
Distribution requirement: Systems
Web Page: http://www.cs.unc.edu/~dewan/290/f09/index-undergrad.html
1. You will perform a distributed task using both Microsoft’s LiveMeeting and Google Docs, thereby gaining a first-hand feel for some of the issues in this area.
2. You will implement a collaborative application (an extension of IM) using a framework, called Sync, that makes it easy to program both synchronous and asynchronous collaborative applications. This assignment will expose you to the difference between synchronous and asynchronous collaboration, consistency issues, and the design of collaboration toolkits such as Google Wave.
3. You will then use another framework, called the Logger, to experiment with different distributed architectures for this application, thereby gaining a strong understanding of centralized (client-server) and replicated (peer-to-peer) architectures, and the impact on performance of these architectures
CS majors can count this course as a course in the Systems group of the Distribution Requirement.
A grade will be assigned based on class exams, class participation, and the assignments.
There is no text book covering this area. Detailed
PowerPoint slides and class notes will cover the topics.
1.
Introduction
2.
Basics of Collaborative Infrastructures and
Applications
3.
Architectures and implementation techniques
4.
Applications and Taxonomies
5.
Collaborative User-Interfaces
6.
Distributed Collaborative Software Development
7. Student Project/Survey Presentations