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.