Chair and Professor
Gruia-Catalin Roman (1976)Assistant Chair and Professor
Ph.D., University of Pennsylvania, 1976
Distributed and concurrent systems, software engineering, mobile computing,visualization
Sally A. Goldman (1990)Hugo F. and Ina Champ Urbauer Professor of Engineering
Ph.D., Massachusetts Institute of Technology, 1990
Computational learning theory, machine learning, algorithm design and analysis
Mark A. Franklin (1970)Henry Edwin Sever Professor of Engineering
(Electrical Engineering)
Ph.D., Carnegie Mellon University, 1970
Computer architecture, systems analysis and parallel processing, VLSI design
Jonathan S. Turner (1983)Associate Professors
Ph.D., Northwestern University, 1982
Networking and communications, algorithms and complexity, VLSI applications
Michael R. Brent (1999)Assistant Professors
Ph.D., Massachusetts Institute of Technology, 1991
Probabilistic modeling applied to language, speech and genomics,
empirical study of native language learning by humansRon K. Cytron (1993)
Ph.D., University of Illinois, 1984
Programming language optimization, parallel computationsKenneth J. Goldman (1990)
Ph.D., Massachusetts Institute of Technology, 1990
Distributed programming environments, distributed applications,
distributed algorithmsRonald P. Loui (1988)
Ph.D., University of Rochester, 1988
Artificial intelligence, legal reasoning, philosophy of computing,
web agentsWeixiong Zhang (2000)
Ph.D., University of California-Los Angeles, 1994
Solving computation-intensive problems in computer science,
operations research and molecular biology
Jeremy Buhler (2001)
Ph.D., University of Washington, 2001.
Computational Biology, genomics, algorithms for comparing and
annotating large biosequencesJason E. Fritts (2000)
Ph.D., Princeton University, 2000.
Media processors, computer architecture, optimizing compilers,
parallel processing, multimedia signal processingChristopher D. Gill (2001)
D.Sc., Washington University, 2002.
Distributed object computing, real-time systems, middleware
for ubiquitous and robotics systemsCindy M. Grimm (2000)
Ph.D., Brown University, 1996.
Surface modeling, image-based rendering, user-interfaces
texture generationJohn W. Lockwood (2001)
Ph.D., University of Illinois, 1995.
Reprogrammable hardware, high speed networksRobert Pless (2000)
Ph.D., University of Maryland, 2000.
Computational video geometry (geometry, statistics and
computation for constructing video representations
of a geometric nature)William D. Smart (2001)
Ph.D., Brown University, 2001.
Reinforcement learning for real world problems,
robotics: robot-human interfacesLihao Xu (1999)
Ph.D., California Institute of Technology, 1999.
Distributed computing and storage systems, reliable and
high performance computing, error control codes
Senior Professors Harold B. and Adelaide G. Welge Professor of Computer Science
Jerome R. Cox, Jr. (1955)In certain cases research and teaching for the department are carried out by other professionals at Washington University. They are affiliated with the Department of Computer Science and are classified as either affiliate faculty or research associates.
Sc.D., Massachusetts Institute of Technology, 1954
Computer visualization, digital communication, biomedical computingRichard A. Dammkoehler (1960)
M.S., Washington University, 1959
Computer programming theory, information retrieval, computer systems
architectureTakayuki D. Kimura (1978)
Ph.D., University of Pennsylvania, 1971
Communication and computation, visual programming languages,
multimedia, user interfaces
Affiliate Professors
Robert J. Benson (1965)Affiliate Associate Professors
J.D., Washington University, 1968
Information systems, systems analysis, database designG. James Blaine III (1974)
(Electrical Engineering, Mallinckrodt Institute of Radiology)
D.Sc., Washington University, 1974
Biomedical computing, digital communications, Picture Archive and
Communications Systems (PACS)I. Norman Katz (1967)
(Systems Science and Mathematics)
Ph.D., Massachusetts Institute of Technology, 1959
Numerical analysis, finite element methods, locational equilibrium problems,
algorithms for parallel computation
Affiliate Assistant ProfessorsKeith Bennett (1993)
M.S., Washington University, 1985
System/software engineering, virtual reality and visualization, space
applicationsRoger D. Chamberlain (1989)
(Electrical Engineering)
D.Sc., Washington University, 1989
Computer engineering, parallel computation, computer architecture,
multiprocessor systemsL. Andrew Oldroyd (1981)
(The Boeing Company)
Ph.D., University of Oklahoma, 1977
Image understanding and remote sensing, robotics, programming languagesPaul S. Min (1990)
(Electrical Engineering)
Ph.D., University of Michigan, 1987
Routing and control of telecommunications networks, fault-tolerance and
reliability, software systems, network managementRobert A. Rouse (1977)
(School of Medicine)
Ph.D., Northwestern University, 1968
Corporate strategic technology planning, expert systems/artificial intelligence
Senior Research AssociatesThomas L. Bugnitz (2000)
M.B.A., Washington University, 1974
Information systems, systems analysisC. David Butler (2000)
M.B.A., University of Iowa, 1991.
Web design, database systemsSean R. Eddy (2000)
(Genetics)
Ph.D., University of Colorodo, Boulder, 1991
Probabilistic modeling and formal grammars, genome analysis,
RNA computational molecular archaeology
Fred Kuhns (1997)Professor Emeritus
M.S., Washington University, 1991
Operating systems, networking, software frameworks,
extensible architecturesStan C. Kwasny (1987)
Ph.D., Ohio State University, 1980
Natural language processing, connectionism, artificial intelligence,
speech-understanding systemsKenneth F. Wong (1984)
(Applied Research Laboratory)
D.Sc., Washington University, 1985
Computer communications, networking, software architecture
Seymour V. Pollack (1966)
M.S. Brooklyn Polytechnic Institute, 1960
Intellectual property, information systems.
The rapid growth in digital computer technology continues to accelerate as we approach the start of a new century. Advances in digital microelectronics, computer networks, and distributed information systems are enabling dramatic expansion of computer use for the solution of increasingly complex information processing problems in business, government, education, medicine, and science. This continuing growth engenders a need for engineers and scientists with the advanced training and expertise not only to exploit the newly emerging knowledge, but to play leading roles in its creation and assimilation into the discipline called computer science. Washington University's graduate programs in computer science are designed to prepare such individuals.
Building on the student's undergraduate background in algorithms and data structures, programming systems, computer architecture, and software engineering, graduate education allows for more intensive studies in specialized areas. Several of these specialties relate directly to department research projects, so that graduate students have excellent opportunities to be significant participants in this important and exciting work. Our department plays an active role in advancing the intellectual frontiers of computer science, creating new computer technology, and applying that technology to meet the needs of today's technological society. We are known for sharing our research ideas with the broader community, not only through scholarly publication, but also by creating systems that can be used by others and can serve as models for commercial development.
Departmental research opportunities focus on the following areas:
Students whose native language is not English are required to submit their TOEFL results, both the standard portion and the Test of Written English, with minimum scores of 575 and 4.5 respectively required for admission.
Under certain conditions students may be admitted provisionally. Conversion to full admission status, then, is contingent upon completion of specific requirements defined for each individual case. This may entail remedial work at the undergraduate level and/or courses in written and oral English.
Once the appropriate remedial work has been completed satisfactorily, the student's admission status can be changed. Any graduate work taken during this provisional period is automatically credited toward the advanced degree when the student gains full admission.
Each individual graduate program is arranged by the student with his or her advisor and may address areas of specialization such as: networking and communications, software engineering, distributed computing, algorithm design and analysis, artificial intelligence, parallel processing, computer systems, and biomedical computing. Such programs are designed primarily around the courses offered by the department, but they often draw from other areas of the university, for example, physics, mathematics, philosophy, systems science and mathematics, electrical engineering, biomedical engineering and engineering and policy.
A change in status from SNCD to full graduate admission will be considered when a complete application form has been submitted, including general GRE test scores and letters of recommendations.
Once the admission status has been changed, graduate courses taken for credit during the previous status may be eligible for use toward the graduate degree. A maximum of 12 units of approved graduate work can be applied in this manner.
We generally recommend that students without an undergraduate
computer science degree enroll in CS 504N (unless you have had significant programming
experience) followed CS 514N. These courses cover the initial portion of our
undergraduate core curriculum and are intended to help identify those
areas in which a student may need further preparation, perhaps by
taking an additional course. While CS 504N and CS 514N cannot be credited toward a graduate degree, they
provide an efficient alternative to taking a large number of
undergraduate courses.
Students electing the thesis option undertake an individual research activity in lieu of six course credits. Acceptance of the resulting thesis and passage of a final oral examination complete the Master of Science degree requirements.
A project option is available. The student may elect to undertake an individual engineering project in lieu of three to six course credits. Acceptance of the resulting project, submitted in writing and presented orally, completes the Master of Science degree requirements under this option. This does not eliminate the specific course requirements listed below.
All students in the course or project options of the Master's Degree program must fulfill the following graduate computer science breadth requirement: one 500-level Theoretical Computer Science (T) course, one 500-level Software Systems (S) course, and at least one 500-level Machine and Architecture (M) or Applications (A) course (with either CS 462M* or CS 453A* with a grade of C- or better counting towards this last requirement).
This computer science breadth requirement does not apply to the thesis option. *These courses count only when they are taken as part of a graduate program and are used disjoint from any other program.
The Combined B.S.-M.S. This five year program, leading to both bachelor's and master's degrees in computer science, offers the student an excellent opportunity to combine undergraduate and graduate studies in an integrated curriculum. Combination of the two programs extends the flexibility of the undergraduate curriculum to more advanced studies. Students in the BSMS program can exploit the program's flexibility by taking graduate courses toward the graduate degree while still completing the undergraduate degree requirements.
The B.S-M.S. program offers early admission to the graduate program in computer science in the junior or senior year and they allow you to complete the master's degree in only one additional year of study (instead of the usual 3 semesters). Each master's level computer science course that you take at Washington University that is not counted toward your undergraduate degree can be counted toward the 30 units required for the MS. Taking advantage of this program can also result in a financial advantage, since the total time to completion is shortened and undergraduate tuition is lower than graduate tuition. Also, if you choose to do a Master's Project or Master's Thesis, this gives you the flexibility to spread the research work over a longer period.
If you plan to apply to this program, it is recommended that you complete at least an undergraduate minor in computer science, three additional computer science courses at the 400 level, and one at the 500 level during your first four years. See the sample schedule for the B.S.-M.S. program.
Combined Bachelor/Master's Program
This program is designed to enable students in other Washington University Schools to pursue a coordinated five-year study leading to a bachelor degree outside enginnering and a master's degree in the School of Engineering and Applied Science. The admissions process and the graduation requirements for this program are identical to those for the B.S.-M.S. program described above.
Students in this program usually complete a CS minor to obtain the background needed for their M.S. course work. Ideally students will take CS 101G, CS 102G, CS 201 (or some discrete mathematics course), CS 241, CS 306S and CS 342S as part of the undergraduate program (typically using these courses as free electives).
The School of Engineering and Applied Science has established a new combined Bachelor of Science/Doctor of Science program. This program is designed to enable highly motivated students of exceptional talent to embark on an accelerated course of studies and research leading to a Doctor of Science degree within seven years. The degree requirements for B.S.-D.Sc. degree are those associated with the B.S. and D.Sc. degree programs. However, graduate courses at the 500-level or above may be counted toward both degrees subject to departmental approval. Students may be admitted to the program upon entry to Washington University but no later than the junior year. More information about the doctoral program can be found in our Guide to the Doctoral Program and a sample schedule for the B.S.-D.Sc. program.
More information about the doctoral program can be found in our Guide to the Doctoral Program.
Computer Science graduate programs at both the master's and doctoral levels provide unique opportunities for independent study and research. The faculty is at the forefront of a variety of areas, both within the department and in conjunction with other University departments and laboratories. Accordingly, students generally participate in such work as a part of their educational experience in addition to thesis or dissertation requirements.
The growing importance of computer-based information systems in the business environment has produced a sustained high demand for graduates with master's degrees in business administration and undergraduate majors in computer science and engineering. A sample curriculum showing a "typical" schedule for a B.S.-M.B.A. student.
The design of such networks is an inherently interdisciplinary endeavor, requiring specialists in a wide range of areas including optical device technology, distributed computing hardware and software systems, signal processing, and switching system architecture. At the same time, it requires generalists capable of bridging the gaps among specialties and making critical design decisions in the face of complex trade-offs.
The Master's Program in Networking and Communications, jointly administered by the Departments of Computer Science and Electrical Engineering, provides excellent preparation for either career path. Its curriculum of five core courses, three electives, and a practical design project assures broad training in the principles and technology of modern communication systems while offering exceptional opportunities for the pursuit of individual students' interests. Courses are scheduled so that students can complete the program in a single year.
Graduates of the program are awarded an M.S. degree either in computer science or electrical engineering, and a certificate in networking and communications. Entry to the program is through the normal graduate application process for either computer science or electrical engineering. Candidates for the Master's degree in computer science must complete a core of five courses (CS 533M, CS/EE 577M, 592A, EE591, and CS/EE 593A), a six unit project (CS 595, 596) or thesis (CS 599), and nine additional units of graduate level electives in computer science, electrical engineering, or a related field (with approval of the academic advisor). Participants in this program need not fulfill the computer science breadth requirement associated with the Master's in computer science. For further details see the Bulletin section on the Program in Networking and Communications.