Computational Science and Engineering
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 domain-specific expertise.
The graduate certificate in computational science and engineering is open to currently enrolled 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. It does not appear as a separate credential on the official transcript.
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).
Students must take two 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. The core courses are listed below.
APC 524: Software Engineering for Scientific Computing (every fall semester). The course 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 (every spring semester). A broad introduction to numerical algorithms used in scientific computing. The course begins with a review of the basic principles of numerical analysis, including sources of error, stability, and convergence. The theory and implementation of techniques for linear and nonlinear systems of equations and ordinary and partial differential equations are covered in detail. Examples of the application of these methods to problems in engineering and the sciences permeate the course material. Issues related to the implementation of efficient algorithms on modern high-performance computing systems are discussed.
Students are also required to complete one elective course. 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:
AOS 575: Numerical Prediction of the Atmosphere and Ocean
APC 522/MAT 522: Introduction to Partial Differential Equations
AST 560: Computational Methods in Plasma Physics
CEE 505: Statistical Methods for Data Analysis, Modeling and Experimental Design
CEE 532: Advanced Finite-element Methods
COS 511: Theoretical Machine Learning
CEE 525: Applied Numerical Methods
COS 551 / MOL 551: Introduction to Genomics & Computational Molecular Biology
COS 557 / MOL 557: Analysis & Visualization of Large-Scale Genomics Data Sets
CBE 554 / APC 544: Topics in Computational Nonlinear Dynamics
COS 522: Computational Complexity
COS 598: Systems and Analytics of Big Data
ELE 535: Machine Learning and Pattern Recognition
ELE 585: Parallel Computation
GEO 441 / APC 441: Computational Geophysics
GEO 422: Data, Models & Uncertainty in the Natural Sciences
GEO 522: Inverse Methods: Theory and Applications
MAE 557: Simulation and Modeling of Fluid Flows
ORF 522: Linear and Nonlinear Optimization
ORF 523: Convex and Conic Optimization
ORF 544: Stochastic Optimization
QCB 455 / MOL 455 / COS 455: Introduction to Genomics and Computational Molecular Biology
MSE 504 / CHM 560 / PHY 512 / CBE 520: Monte Carlo and Molecular Dynamics Simulation in Statistical Physics & Materials Science
NEU 537/ MOL 537 / PSY 517: Computational Neuroscience & Computing Networks
ORF 531 / FIN 531: Computational Finance in C++
ORF 538: Analytical and Computational Methods of Financial Engineering
SOC 596: Computational Social Science
For additional information on acceptable elective courses students should visit the PICSciE website.
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 required a significant computational component as part of the original research it contains.
The ability to communicate 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 take place 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.
- Jeroen Tromp
- Annabella Selloni, Chemistry
- Jaswinder P. Singh, Computer Science
- William M. Tang, PPPL ITER and Tokamaks
- Jeroen Tromp, Geosciences
- Mohamed S. Abou Donia, Molecular Biology
- David I. August, Computer Science
- Ian C. Bourg, Civil and Environmental Eng
- Adam S. Burrows, Astrophysical Sciences
- Roberto Car, Chemistry
- Jonathan D. Cohen, Psychology
- Peter Constantin, Mathematics
- Pablo G. Debenedetti, Dean for Research, Office of
- Barbara E Engelhardt, Computer Science
- Stephan A. Fueglistaler, Geosciences
- Matthew W. Kunz, Astrophysical Sciences
- Kai Li, Computer Science
- Sharad Malik, Electrical Engineering
- Meredith A. Martin, English
- Luigi Martinelli, Mechanical & Aerospace Eng
- Michael E. Mueller, Mechanical & Aerospace Eng
- Eve C. Ostriker, Astrophysical Sciences
- Athanassios Z. Panagiotopoulos, Chemical and Biological Eng
- Jonathan W. Pillow, Psychology
- Frans Pretorius, Physics
- Peter J. Ramadge, Electrical Engineering
- Laure Resplandy, Geosciences
- Jennifer L. Rexford, Computer Science
- Clarence W. Rowley, Mechanical & Aerospace Eng
- Matthew J. Salganik, Sociology
- H. Sebastian Seung, Computer Science
- Anatoly Spitkovsky, Astrophysical Sciences
- Brandon M. Stewart, Sociology
- John D. Storey, Integrative Genomics
- Olga G. Troyanskaya, Computer Science
- Gabriel A. Vecchi, Geosciences
- David Wentzlaff, Electrical Engineering
- Claire E. White, Civil and Environmental Eng
- Bridgett M. vonHoldt, Ecology & Evolutionary Biology
Sits with Committee
- V. Balaji
- Choongseok Chang
- G. J. Peter Elmer