Teaching Schedule (Fall 2009)

CS142, Web Applications
MWF 11-11:50, Building 370, Room 370

Recent Courses

Research Interests

I am interested in a wide range of topics related to infrastructure for building software systems, including development frameworks, programming languages, operating systems, and storage systems. My current projects are RAMCloud, a new approach to storage where all information is kept in DRAM and large-scale storage systems are created by aggregating the memories of thousands of servers, and Fiz, a new development framework for Web applications.

Biography

John Ousterhout received a BS in Physics from Yale University in 1975 and a PhD in Computer Science from Carnegie Mellon University in 1980.

From 1980-1994 he was a Professor of Computer Science at the University of California, Berkeley. His research projects included design tools for integrated circuits such as the Magic layout editor and the Crystal timing analyzer, the Sprite network operating system, log-structured file systems, and the Tcl scripting language and Tk toolkit.

In 1994 John left Berkeley to fulfill a long-standing desire to build commercial software. From 1994-1998 he was a Distinguished Engineer at Sun Microsystems Laboratories. In 1998 he founded Scriptics Corporation to commercialize Tcl development tools, where he was CEO until 2000. In 2002 he founded Electric Cloud, where he worked until 2007. At Electric Cloud he led the development of a parallel build system (ElectricAccelerator) and a Web-based server for managing distributed processes such as nightly builds and automated tests (ElectricCommander).

In 2008 John returned to academia as Professor (Research) in the Department of Computer Science at Stanford University.

Ousterhout is a member of the National Academy of Engineering and a Fellow of the ACM. He has won numerous awards, including the ACM Software System Award, the ACM Grace Murray Hopper Award, the National Science Foundation Presidential Young Investigator Award, and the U.C. Berkeley Distinguished Teaching Award.

Selected Publications

  1. Ousterhout, J., "Scripting: Higher-Level Programming for the 21st Century," IEEE Computer, Vol. 31, No. 3, March 1998, pp. 23-30.
  2. Ousterhout, J., Tcl and the Tk Toolkit, Addison-Wesley, Reading Massachusetts, 1994, 460 pages.
  3. Rosenblum, M. and Ousterhout, J., "The Design and Implementation of a Log-Structured File System," ACM Transactions on Computer Systems, Vol. 10, No. 1, February 1992, pp. 26-52.
  4. Ousterhout, J., "Why Aren't Operating Systems Getting Faster as Fast as Hardware?," Proc. USENIX Summer Conference, June 1990, pp. 247-256.
  5. Nelson, M., Welch, B., and Ousterhout, J., "Caching in the Sprite Network File System," ACM Transactions on Computer Systems, Vol. 6, No. 1, February 1988, pp. 134-154.
  6. Ousterhout, J., Da Costa, H., Harrison, D., Kunze, J., Kupfer, M., and Thompson, J., "A Trace-Driven Analysis of the UNIX 4.2 BSD File System," Proc. 10th ACM Symposium on Operating Systems Principles, December 1985, pp. 15-24.
  7. Ousterhout, J., "A Switch-Level Timing Verifier for Digital MOS VLSI," IEEE Transactions on Computer-Aided Design, Vol. CAD-4, No. 3, July 1985, pp. 336-349.
  8. Ousterhout, J., "Corner Stitching: A Data Structuring Technique for VLSI Layout Tools," IEEE Transactions on Computer-Aided Design, Vol. CAD-3, No. 1, January 1984, pp. 87-100.
  9. Ousterhout, J., "Scheduling Techniques for Concurrent Systems," Proc. 3rd International Conference on Distributed Computing Systems, October 1982, pp. 22-30.

Contact Information

310 Gates Hall
650-721-6325
ouster@cs

Office Hours

M 1:30-2:30
Th 11:00-12:00

Assistant

Teresa Lynn
305 Gates Hall
4-6540
tlynn@csl

Add ".stanford.edu" to all e-mail addresses above.