Date: Wed, 20 Nov 1996 22:22:47 GMT
Server: Apache/1.1.1
Content-type: text/html
K. Mani Chandy
K. Mani Chandy
This page was a 1994 birthday gift from Mani's students to
him.
Snail-mail :
Computer Science 256-80 ,
California Institute of Technology
Pasadena, CA 91125
Secretary : Diane Goodfellow,
diane@cs.caltech.edu ,
(818) 395-6842
FAX : (818) 792-4257
Projects
- Archetypes
- Archetypes for parallel and sequential programming, plus
an electronic textbook for viewing and selecting them.
- Caltech
Infospheres Project
- Projects in formal methods and practical
applications in distributed information, collaboration over the Web,
Java, and the Internet.
- Compositional C++
- A parallel programming language based on C++.
- Compositional
Systems Research Group
of the
Center for Research on Parallel Computation
- Projects in formal methods and practical applications
in compositional systems, distributed computing, CORBA,
SDL, Multicast, Opendoc, and UNITY.
- Fortran M
- A parallel programming language based on Fortran.
-
Infosphere Infrastructure Research Project
- A distributed programming layer using the Web, Java, and the
Internet.
-
Problem Solving Environments
- Specially suited environments to enable scientists to
solve complex problems.
Current Students at Caltech
Former Students at Caltech
Courses at Caltech
-
CS 138abc. Computer Algorithms.
9 units (3-0-6); not offered 1996-97.
- Design, analysis, and proofs of correctness of computer programs.
Program specification, methods of proving program correctness, and
computational complexity. NP-completeness. Models of parallel,
concurrent, and distributed computation. Searching, sorting, string
matching. Graph, geometric, algebraic, and matrix algorithms. Linear
programming. Heuristic search. Discrete-event simulation. Algorithms
for distributed systems. Part of third term is spent studying
applications in one branch of science or engineering.
- CS 141abc. Distributed Computation Laboratory.
9 units (3-3-3); prerequisites: CS138 or equivalent.
- This laboratory course deals with applications of
systematic design methods and theories for reasoning about the
correctness and performance of concurrent programs. The theories
include temporal logics, computational complexity analysis,
probabilistic models, statistics and discrete-event simulation. The
first two terms require program development carried out individually
or in groups of two, and the third term has a larger project carried
out by a team. Concurrent programs are developed using
object-oriented languages and methods for single address space and
multiple address space systems. User-interface designs are considered
within the narrow scope of designing reliable concurrent systems that
include human interaction. Aspects of communication protocols for
static and mobile systems, distributed operating systems, and
fault-tolerant systems are studied with a focus on systematic design
to achieve reliability and performance. The course is structured
around programming projects using tools such as (but not limited to)
Java and the World Wide Web, Unix processes, pipes and sockets,
TCP/IP, and multicast protocols, object request brokers such as CORBA,
C++ and its extensions such as CC++, and discrete-event simulation
packages. Given in alternate years.
This page is maintained by Adam Rifkin and Joseph Kiniry and was last
modified on Thursday, 15-Aug-96 16:28:30 PDT.