2007 CS141a: Distributed Systems Laboratory
Instructor: K. Mani Chandy Teaching Assistant: Concetta Pilotto Teaching Assistant: Agostino Capponi Instructor: sayan mitra
 | CS141 abc is a 3-term lab course. Students pick projects during
October and work on projects through June. Some students continue with
their projects over the summer. Each student is
responsible for selecting a topic that excites that student. Students usually work on projects in groups of 2 to 4 people.
Most projects are likely to fall within the following categories:
1. Application integration: Develop applications for
some community, such as the Caltech community, by
integrating Web applications such as Facebook, Google, Amazon, eBay and
others. Example applications include buildling infrastructures for new
types of social networks and helping (Caltech)
students collaborate on activities such as ride-shares, course selection, music, reading, and extra-curricular activities.
2. Mobile agents: Develop simulations and work with mobile robots to
coordinate activities of multiple agents. Example applications include:
(a) using mobile agents to search for items such as sources of radiation and
pollutants. (b) Getting mobile agents to move in formation. (c)
Intercepting intruders into a space (d) sensing complex patterns in the
environment.
3. Theory: Develop theory
integrating --- for example --- axiomatic semantics, game theory,
learning theory, optimization or control theory to
solve problems in multiple-agent systems. Only PhD students working on
research on distributed computing theory pick theory projects because
the course is intended to be a lab course. Students are encouraged to pick projects that integrates material from other courses including
machine learning, optimization and control theory.
Many of the programming examples discussed in class use Java and SQL;
however, students may use any programming language and system they wish.
The course intersperses discussions of projects with theory. Material
discussed includes axiomatic semantics of sequential, shared-memory
multiprocessor, and distributed memory systems; tools such as model
checkers and theorem provers; and applications of game theory and
optimization to distributed systems design.
|