Computing is a ubiquitous tool in all areas of study and research at Caltech. Computer science focuses on the theory and technology of computation itself: it is the study of information, and of the structures that communicate, store, and procegs information. Whether these structures are expressed in hardware and called machines, in software and called programs, or in nature or society, the fundamental concepts are similar.
Students of the computer science option within the Computing & Mathematical Sciences department at Caltech do not specialize along traditional lines that divide hardware and software, systems and applications, or theory and experiment. Rather, a unified approach to the design and analysis of computing structures is taken both in courses and in research. Managing the great complexity of useful systems requires a representation of computations amenable to both mathematical treatment and implementation. Whether the system is artificially designed (such as a multi-core processor), or naturally occurring (such as a molecule), the computer scientist formalizes the computation performed by the system and provides a systematic analysis of its requirements and formal guarantees on its outcomes.
Areas of Research
Research and advanced courses leading to the Ph.D. degree in computer science are concentrated in the following areas: quantum and molecular computation; parallel and distributed computation; theory of computation; information theory; machine learning and applications; computational economics; computer vision; computer graphics; discrete differential geometry; networking and power systems. Research projects frequently involve work in several of these areas, with both theoretical and experimental aspects, as well as connections with such fields as mathematics, physics, biology, economics, and electrical engineering. Crosscutting themes include:
- Physical Implementation of Computations. Computations must ultimately be implemented in some physical medium (e.g., semiconductor electronics, DNA self-assembly, quantum states of elementary particles, molecular electronics). Caltech has been a leader in the early development, engineering, and design of very large scale integrated (VLSI) circuits. Beyond VLSI, efforts are under way to understand quantum, biomolecular, and molecular electronic substrates as possible media for future computing machines. As was the case with semiconductor electronics, Caltech computing can draw on the world-class expertise of its biology, physics, and chemistry departments as it tackles the many challenging opportunities that these new substrates present.
- Robust Modeling of Physical Systems. Caltech computer science has a unique focus in developing rigorous and robust models of the physical world. These models are mathematically and physically sound, often derived from differential geometric principles, and serve as a basis for computer graphics and vision research, as well as the simulation of mechanical, optical, and biological systems.
- Systematic Design. A key theme in the Caltech computer science option is the systematic design of systems at all levels. This theme shows up in the design of numerical algorithms for physical simulation and computer graphics, design of concurrent and distributed systems, abstractions for physical computing substrates, design of learning systems, design of programming languages, automated optimization of computations for both software and hardware implementation, as well as control and optimization of networks. The success of computer systems has allowed the building of systems of unprecedented scale and complexity. These systems can only be understood and managed if we carefully contain the complexity involved by systematically defining and exploring their design space.
- Theory. A strong theoretical understanding is the necessary foundation for systematic design, analysis, and verification. The theory of computation focuses on deep mathematical problems, many of which have substantial technological impact. Theory in computer science at Caltech includes traditional areas such as complexity algorithms, theories of numerical computation, optimization, probability, and game theory. But theory is not relegated to a single group, and has strong connections to all disciplines represented at Caltech.
- Networks & Distributed Systems. Modern networks and distributed systems are undoubtedly the most complex and critical pieces of infrastructure that the world has created. This includes communication networks as well as power networks, social networks, cloud computing, and more. The massive scale and exponential growth of such networks presents unique algorithmic, computational, and economic challenges. Research at Caltech approaches these challenges through a combination of rigorous design, systematic analysis, and interdisciplinary collaboration.
- Machine Learning. In our increasingly data-rich world, it is more important than ever to develop principled approaches that can intelligently convert raw data into actionable knowledge. At Caltech, we take a broad and integrated view of research in data-driven intelligent systems. The Decision, Optimization and Learning group brings together researchers from machine learning, optimization, applied math, statistics, control, robotics, distributed systems and human-computer interaction to form an intellectual core pertaining fundamental and applied research from statistical machine learning to statistical decision theory through optimization.
- Interdisciplinary Research. Computer simulations, modeling, and analysis are key enablers, allowing all fields of science to advance rapidly. Furthermore, insights into computational management of information helps us understand information processing issues in natural systems (from cells and neurons to financial markets and social networks) and build hypothetical models that advance our understanding of natural cognition. These relations provide many opportunities for scholars in computer science to work closely with colleagues throughout Caltech. The Information Science and Technology (IST) initiative facilitates and promotes such interdisciplinary research (see ist.caltech.edu).
The computer science option has excellent computing facilities ranging from high-performance workstations to multiprocessors and supercomputers. The Computing & Mathematical Sciences department maintains a large computer lab open to students and offers a large collection of software for a wide range of applications. Students have easy access to state-of-the-art equipment. The Institute libraries maintain a large collection of journals in computer science and related fields.