The MSE in Scientific Computing (SCMP) program at Penn provides multifaceted graduate training in the fundamentals and applications of computational science. The Program provides a rigorous computational foundation for applications to a broad range of scientific disciplines. The Program combines a comprehensive set of core courses centered on numerical methods, algorithm development for high performance computational platforms, and the analysis of large data, and offers flexibility to specialize in different computational science application areas. Students may elect to pursue a thesis in computationally-oriented research within the School of Engineering and Applied Science.
Click here for more information on how to apply to the program.
Click here to see a recent feature on SCMP in Penn Engineering magazine.
Program structure:
The MSE degree consists of a minimum of 10 course units, in the following categories:
- Core courses (4 Fundamentals + 2 Methods)
- Application courses (2).
- Electives (2).
- Up to 2 independent study (research) course units or a 2-unit thesis option can replace up to 2 course units in either Application or Electives.
Core – Fundamentals |
Core – Methods |
Applications |
Electives |
Numerical Methods I |
Molecular/Mesoscale Simulation Methods |
2 approved graduate courses in physical science & engineering applications. These courses should focus on physical, chemical or biological phenomena and systems. |
Students may select 2 courses that are more broadly related to science, engineering, mathematics, or computation. |
Numerical Methods II |
Continuum Simulation Methods |
||
Algorithms for Scientific Computing |
Machine Learning and Optimization |
||
Data Science |
Core (Fundamentals) Courses (all required):
- Numerical Methods I (CIS 515): This course is focused on computational linear algebra. Topics will include solution of linear algebraic systems; vector and matrix norms; iterative methods; eigenvalues and eigenvectors; singular value decomposition.
- Numerical Methods II (ENM 502): This course will cover the fundamentals of applied mathematics related to scientific computing. Topics will include numerical algorithms for solving nonlinear equations; approximation and interpolations; fast Fourier transforms; least square methods; optimization methods; ordinary differential equations; and partial differential equations. Error analysis and convergence will be emphasized. Extensive use will be made of computational systems, e.g., MATLAB.
- Algorithms (CIS 502): This course emphasizes fundamental techniques for the design and analysis of efficient algorithms. Topics include: dynamic programming; graph algorithms; shortest paths; network flows and linear programming; recognizing computational intractability (NP Completeness); approximation algorithms; analysis of randomized algorithms for sorting, hashing, caching, and computational geometry applications.
- Database and Information Science (CIS 450 or CIS 550): This course will focus on data representation and analysis for large-scale data. Topics will include scalable data management (on and off the cloud); data integration and transformation; metadata. Emphasis will be placed on current tools and platforms, SQL and NoSQL solutions.
Core (Methods) Courses (choose at least 2 out of 3):
- Molecular Simulation Methods (e.g., MSE 561 or CBE5 525): This course will provide a comprehensive survey of atomistic simulation methods and their statistical mechanics foundations. Methods will include static relaxation; molecular dynamics; Monte Carlo; transition state theory; kinetic Monte Carlo; free energy estimation; interatomic potentials/force fields; and phase equilibria. Emphasis will be placed on writing basic algorithms and use of standard open source codes.
- Continuum Simulation Methods (e.g., MEAM 646 or ENM 540): This course will focus on discretization approaches for solving partial differential equations namely finite element, finite difference, and/or finite volume methods. The course will include issues related to parallelization of compute intensive elements (e.g., matrix factorization); libraries for efficient execution; optimization; grid generation; front tracking; and homogenization. Examples will be drawn heavily from fluid dynamics, continuum mechanics, and computational electromagnetics.
- Machine Learning (CIS 519 or CIS 520): CIS 520 provides a fundamental introduction to the mathematics, algorithms and practice of machine learning. Topics covered include: Supervised learning: least squares regression, logistic regression, perceptron, naive Bayes, support vector machines. Model and feature selection, ensemble methods, boosting. Learning theory: Bias/variance tradeoff. Online learning. Unsupervised learning: Clustering. K-means. EM. Mixture of Gaussians. PCA. Graphical models: HMMs, Bayesian and Markov networks. Inference. Variable elimination.
Applications Courses:
Applications courses will be drawn from the large range of existing computation-centric courses offered throughout SEAS, SAS, Medicine, and Wharton. Students will work with an advisor to choose a selection of courses that will constitute a Concentration in a particular computational science area (e.g., medical imaging; “x”-nomics; materials science). An evolving list of potential computational science-related classes will be culled from the University course roster. Please see the SCMP Course Master List for a list of approved Applications courses for the 2015-2016 school year.
Elective Courses:
These courses can be in areas complementary to computational science (e.g., statistical mechanics; astrophysics; genomics; homology) or used to augment a particular application Concentration. These courses will be proposed by the student for approval by his/her advisor. Please see the SCMP Course Master List for a list of approved Elective courses for the 2015-2016 school year.
Administration:
Dr. Talid Sinno, Director
talid@seas.upenn.edu