Computational and Information Science
Introduction and Rationale
Computation is now a crucial tool for discovery in the sciences, engineering, and increasingly so in the humanities. Scientific computation is also a diverse field. It requires a working knowledge of numerical analysis (to develop new and more accurate algorithms), best-practices in software engineering (to implement and maintain ever-growing scientific software systems), computer science (to exploit emerging trends in hardware and programming practices), and statistics and data modeling (to analyze and interpret the massive digital data sets that are now routinely collected in all fields).
The graduate certificate in computational and information science is open to Princeton University graduate students. It is designed to recognize the achievements of students who have undertaken comprehensive training in these topics, both through formal course work and through research in their subject area.
The certificate program was originally proposed and designed to be part of the Program in Integrative Information, Computer and Application Sciences (PICASso) by Professor J.P. Singh, with the resources required to administer the program now provided by the Princeton Institute for Computational Science and Engineering (PICSciE).
To earn the certificate, students must complete four requirements: (1) take for credit and pass two of the three approved core courses, (2) take for credit and pass one approved elective course, usually this is a course specific to their research discipline, (3) give a seminar (in their home department) on their thesis research, and (4) write a thesis which contains a significant computational component, as judged by the thesis advisor who must write a short letter to certify this component.
Online application is now available.
The following describes in more detail each of these requirements:
Students must take any two of the three core courses. This requirement is designed to guarantee all students who earn the certificate have a solid foundation in the basic principles of scientific computation and data analysis. The core courses are:
APC 524: Software Engineering for Scientific Computing. Covers the tools and techniques that are crucial for effective use of computation in any discipline. Topics include structured programming in compiled versus scripting languages, software management tools, debugging, profiling and optimization, and parallel programming for both shared and distributed memory systems.
APC 523: Numerical Algorithms for Scientific Computing. An introduction to numerical analysis and numerical algorithms useful for a wide range of problems. Topics in analysis include round-off versus truncation error, stability, consistency and convergence of algorithms. Topics in algorithms include methods for linear algebra, nonlinear root finding, ODEs, and elliptic, hyperbolic, and parabolic PDEs.
COS 424: Interacting with Data. An introduction to some of the best and most general approaches to solving the broad problem of extracting useful information from digital data, including text documents, biological data, signals, and images. Topics will include classification, clustering, prediction, and dimensionality reduction.
One course required. This requirement is designed to give students expert training in their subject. Elective courses can be selected from any graduate-level course on campus, provided the course contains a significant computational component. In special circumstances, advanced undergraduate level courses may also count towards the elective. Each student must seek approval of the certificate program director for the course they select as an elective. Approval may be granted for courses already taken. In general, the elective course will be offered by the student’s home department. Some examples of suitable elective courses are:
The ability to communicate their research to a broad audience, as well as interact with students across disciplines on shared tools and challenges, is an important skill for all students. In order to encourage both of these goals, as part of the certificate program students are required to give a research seminar on their thesis research sometime before graduation. Normally, this would be scheduled in the last year of research so there are significant results to the report. The seminar (a public talk of at least 30 minutes) may be organized and hosted directly by PICSciE, or it may be in the home department. In either case, the program administrator must be informed well in advance so that the seminar can be broadly advertised by PICSciE.
The final requirement for the certificate is that the student’s thesis research must include a significant computational component, broadly defined. Since the role of computation differs across disciplines, the program will rely on the judgment of experts in the specific discipline to certify whether the goal of a “significant computational component” has been achieved. Thus, the student’s adviser is asked to write a short letter outlining the role of computation in the thesis, and to certify that this work represents a significant advance in the field.
Faculty Advisers in the Program
A significant fraction of the faculty rely on computation for their research, and all are potential advisers for students in the program. Below we list some of the key faculty participants (including all the associated faculty with PICSciE) we expect will serve as advisers, however we emphasize this list is not exhaustive.
James Stone, Astrophysical Sciences
Key Faculty Participants
David August, Computer Science
Venkatramani Balaji, Atmospheric and Oceanic Science
David Blei, Computer Science
Adam Burrows, Astrophysical Sciences
Roberto Car, Chemistry
Emily Carter, Mechanical & Aerospace Engineering
Jonathan Cohen, Psychology
Peter Constantin, Mathematics
Iain Couzin, Ecology & Evolutionary Biology
Pablo Debenedetti, Chemical & Biological Engineering
Christodoulos Floudas, Chemical & Biological Engineering
Steve Jardin, Plasma Physics
Ioannis Kevrekidis, Chemical & Biological Engineering
Laura Landweber, Ecology & Evolutionary Biology
Naomi E. Leonard, Mechanical & Aerospace Engineering
Simon Levin, Ecology & Evolutionary Biology
Kai Li, Computer Science
Robert Lupton, Astrophysical Sciences
Luigi Martinelli, Mechanical & Aerospace Engineering
Athanassios Panagiotopoulos, Chemical & Biological Engineering
Warren B. Powell, Operations Research & Financial Engineering
Frans Pretorius, Physics
Jennifer Rexford, Computer Science
Clarence Rowley, Mechanical & Aerospace Engineering
Szymon Rusinkiewicz, Computer Science
Robert Schapire, Computer Science
Annabella Selloni, Chemistry
Mona Singh, Computer Science
Jaswinder Singh, Computer Science
Alexander Smits, Mechanical & Aerospace Engineering
David Spergel, Astrophysical Sciences
Anatoly Spitkovsky, Astrophysical Sciences
John Storey, Molecular Biology
William Tang, Astrophysical Sciences/Plasma Physics
Robert Tarjan, Computer Science
Jeroen Tromp, Geosciences
Olga Troyanskaya, Computer Science
Christopher Tully, Physics
Ned Wingreen, Molecular Biology
Administration of the Program
PICSciE administers the program, and part of its responsibility is to appoint a program director each year, to advertise the program, to identify students who are working to achieve the certificate, and to ensure these students understand all of the requirements and to help them meet them.
Upon completion of all requirements, and at the receipt of an M.A./M.S. or Ph.D. diploma in his or her discipline, the program director will recommend them to the PICSciE Executive Committee, who must give final approval to award the certificate. Only the program director can recommend students for the certificate to the Executive Committee. The program director shall award the student a letter of certification in Computational and Information Science.
James Stone, Program Director
Ma. Florevel (Floe) Fusin-Wischusen, Institute Manager & Program Administrator