|
Main
Page
Graduate
Program
Undergraduate
Program
Course Information
Course
Web Pages
Our
Research
Research
Areas
Technical
Reports
Faculty
Graduate
Students
Research
and Technical Staff
Administrative
Staff
Alumni
Degree
Recipients
Calendars
Computing
Facilities
CS
Talks Mailing List
Yale
Computer Science FAQ
Yale Workstation Support
Computing
Lab
AfterCollege
Job Resource
Graduate
Writing Center
Contact
Us
History
Life in the Department
Life About Town
Directions
Faculty
Positions
City
of New Haven
Yale
Applied Mathematics
Yale
C2: Creative Consilience of

Computing and the Arts
Yale
Faculty of Engineering
Yale
GSAS Staff Directory
Yale
University Home Page
Google Search
Yale Info Phonebook
Internal |
|
Our Research
The goal of an academic research effort in any field is to establish
outer boundaries. Commercial efforts demonstrate what is profitable; academic
efforts show what is possible. In physics, mathematics and the other large,
long-established areas, most research gains lead to relatively small changes
in the character and perimeter of the field. Computer science is different.
Its brand new. When a few researchers parachuted into this field
in the 1940s, they had no territory to extend. They invented computer
science from scratch, more or less. They faced basic questions in science,
algorithms, design, and philosophy; and by answering them, they established
the intellectual basis of the field. What does "computable"
mean? How do we classify computations, distinguish practical from impractical
from impossible? How should programming languages be designed, and what
difference do they make? Is it possible in principle to build a mind out
of software? And so on.
When the Yale Department of Computer Science was founded in 1969, the
fledgling field was viewed as consisting of four primary areas: Theory
of Computation, Artificial Intelligence, Numerical Analysis, and Systems.
Over the years, these areas have developed so quickly in both depth and
breadth that each now consists of many sub-areas. Within Artificial Intelligence,
areas such as machine learning, knowledge acquisition systems, robotics,
computer vision, neural networks, and many others have grown. Systems
research now includes graphics, databases, operating systems, networking,
and the entire sub-field of programming languages, which includes formal
semantics, compilers, programming environments, logical frameworks, software
engineering, and object-oriented, functional, and logic programming. Similarly,
Theory of Computation now includes computability, complexity theory, design
and analysis of algorithms, cryptography, distributed computing, discrete
mathematics, and more. Each of these many new areas now boast their own
conferences, journals, federal research programs, and so on.
Each of these areas also has developed into both theoretical and experimental
disciplines. For example, security theory establishes the correctness
and robustness of idealized cryptographic protocols, but real systems
need to be built and fielded to ensure that the protocols withstand realistic
attacks. Type theory and category theory help establish the foundations
of programming languages, but real languages need to be designed and built
to ensure that programmers can use them productively. And learning and
planning theory tells us what the limits of automated intelligence are,
but robots need to be built to demonstrate the viability of these results.
At Yale, both theoretical research and applied research are valued highly.
Computer Science has also grown beyond its own bounds to become a multi-disciplinary
field that touches many other sciences as well as arts and humanities.
Aside from the obvious overlaps with engineering and mathematics, there
are natural connections with physics, economics, law, management, psychology,
biology, medicine, music, philosophy, and linguistics. Indeed, members
of the CS faculty have engaged in collaborations with each of these areas.
These efforts have affected our curriculum through the establishment of
cross-listed courses, interdisciplinary majors (such as Cognitive Science),
special "tracks" and dual majors, and the creation of the Applied
Math program. They have also led to interdisciplinary research centers,
such as the Center for Scientific Computing (CS, Math), the Center for
Computational Vision and Control (CS, EE, and Medicine) and the Center
for Internet Studies (CS, SOM, Law).
Of course, with such diversity and depth, it has become increasingly
difficult for any computer science department to cover all areas, and
no one really tries. The many changes that are taking place in the field
have led the Department to pursue a vision for the future a bit different
from the original structure upon which it was founded. At Yale, the focus
of Computer Science as we move into the new millennium is in seven specific
areas:, Algorithms and Complexity Theory, Distributed Computing, Machine
Learning, Programming Languages and Compilers, Scientific Computing and
Applied Math, Vision and Robotics, and Security and Cryptography. Each
of these areas is described in more detail later in this brochure.
Yales Department of Computer Science has been and will continue
to be a leader in redefining the outer boundaries of the field. But computer
science in general, and Yales Department in particular, faces many
challenges in the new millennium. Key research areas emerge quickly, and
the Department must stay flexible enough to respond to them. The undergraduate
curriculum in computer science, unlike that of older sciences, can change
significantly within the career of a single student. The Departments
educational mission is to stay tuned to the needs of young computer professionals.
Our undergraduate program has been steadily growing for the past several
years. Yale undergraduates are the best in the country, and are a deep
pool of talent the Department can draw on for advice and collaboration.
A few years ago, we inaugurated a Masters Degree program, which
provides new educational options to students, and also to career computer
scientists who have a professional need for further training.

|
 |