Jump to navigation
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 who are currently enrolled. 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).
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 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). An introduction to numerical analysis and numerical algorithms used for a wide range of problems. Topics in the 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: COS 424: Fundamentals of Machine Learning (every spring semester). This course will focus on some of the most useful approaches to the problem of analyzing large complex data sets, exploring both theoretical foundations and practical applications. Students will gain experience analyzing several types of data, including text, images, and biological data.
One elective course is 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:
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
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
ELE 573 / CBE 573: Cellular and Biochemical Computing Systems
GEO 441 / APC 441: Computational Geophysics
MAE 557: Simulation and Modeling of Fluid Flows
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
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.