Scientific computation is among the fastest-growing multidisciplinary research area and it serves as a bridge between the traditional domains of theoretical and experimental sciences. Computation research covers many areas in science and engineering. The multidisciplinary nature of computational science and its wide-ranging scope means that its training and research can best be integrated into different disciplines to equip students with a solid foundation of the knowledge in focused areas. Students can enroll in a particular discipline for research with a special focus in Scientific Computation.

Management Committee

Kun Xu

(MATH, Chair)

Xiaoping Wang


Xuhui Huang


Zhigang Li


Qiong Luo


Ding Pan


Jiguang Wang


Jiang Xu


Jidong Zhao



  1. The Scientific Computation Concentration is intended for research postgraduate students who are interested in pursuing research in computation related research.
  2. The general program requirements of the Scientific Computation Concentration are as follows, while the specific course requirements of individual programs involved are provided in the Appendix:
    • Conduct research in the area of scientific computation.
    • Give a one-hour seminar on computation related research within the student’s first four regular terms of study.
    • PhD students are required to complete a minimum of 10 credits from the courses listed below. Of the 10 credits, 6 credits must be from the core course list including the required 1-credit course MATH6915 Scientific Computation Seminar, which can be repeated for up to 2 credits. The credits earned under the concentration will be counted toward the total credit requirements of the programs.
    • MPhil students are required to complete a minimum of 7 credits from the courses listed below. Of the 7 credits, 3 credits must be from the core course list including the required 1-credit course MATH6915 Scientific Computation Seminar, which can be repeated for up to 2 credits. The credits earned under the concentration will be counted toward the total credit requirements of the programs.


Core Course List
Course code Title No of credits Offering term Remark
COMP5112 Parallel Programming 3 Spring  
Finite Element Methods 3 Fall  
CSIC5001 Introduction to Advanced Computing Systems 3 Fall  
CSIC5011 Topological and Geometric Data Reduction and Visualization 3 Spring  
CSIC5031 Modeling, Optimization, and Statistics 3 Spring  
MATH5311 Advanced Numerical Methods I 3 Fall  
MATH6915 Scientific Computation Seminar 1 Spring (not offer every year) This is a required course and can
be taken twice

Elective Course List
Course code Title No of credits Offering term
CHEM5210 Computational Chemistry 3 Spring (not offer every year)
CHEM5220 Statistical Mechanics: Theory and Applications in Complex Systems 3 Fall (not offer every year)
COMP5212 Machine Learning 3 Fall
COMP5213 Introduction to Bayesian Networks 3 Spring
COMP5331 Knowledge Discovery in Databases 3 Fall
COMP5421 Computer Vision 3 Spring
CSIC5190 Special Topics in Scientific Computation 2 Spring
ELEC5810 Introduction to Bioinformatics Algorithms 3 Spring
ELEC5140 Advanced Computer Architecture 1-4 Spring
MATH5350 Computational Fluid Dynamics for Inviscid Flows 3 Fall
MATH5360 Weather, Climate and Pollution 3 Spring (not offer every year)
MATH5411 Advanced Probability Theory I 3 Fall
MATH5431 Advanced Mathematical Statistics I 3 Fall
MECH5230 Computational Fluid Dynamics and Heat Transfer 3 Spring
MECH5280 Transport Phenomena and Its Application in Energy Systems 3 Fall
PHYS 5410 Numerical Modeling in Physics 3 Spring


Appendix: Core Course descriptions

CSIC 5001 Introduction to Advanced Computing Systems
Advanced computing systems are essential platforms for modern scientific studies and engineering projects. Their usability and performance are determined by applications, software, and hardware. This course will cover modern computer architecture, software environment, mathematical methods, and typical application cases. The topics include CPU, GPU, FPGA, data structures and algorithms; parallel program design and implementation; algorithm complexity and performance analysis, basic numerical techniques, computational linear algebra, linear programming, and applications in physics, chemistry, biology, and applied science.

CSIC 5002 Parallel Programming
Introduction to parallel computer architectures; principles of parallel algorithm design; shared-memory programming models; message passing programming models used for cluster computing; data-parallel programming models for GPUs; case studies of parallel algorithms, systems, and applications; hands-on experience with writing parallel programs for tasks of interest.

CSIC 5011 Topological and Geometric Data Reduction and Visualization
This course is a mathematical introduction to data analysis and visualization with a perspective of topology and geometry. Dimensionality reduction lies in the core of data analysis and visualization. The course starts from classical linear dimensionality reduction, the principal component analysis (PCA) and its dual multidimensional scaling (MDS). Then it paves a way toward nonlinear dimensionality reduction (manifold learning) including ISOMAP, LLE, and diffusion geometry on data graphs. By blowing up data graphs into high dimensional simplicial complexes, topological data reduction can be developed including clustering and hole capture by computational homology etc. Spectral methods, such as Hodge Theory, acts as a bridge connecting geometry and topology, with new modern applications in preference aggregation or statistical ranking etc. To cope with uncertainty in high dimensional data analysis, Stein's Phenomena and random matrix theory in PCA disclose some fundamental tradeoffs between sparse signal and noise. Extensive application examples in biology, finance, and information technology are presented along with course projects.

CSIC 5021 Advanced Numerical Methods I
Numerical solution of differential equations, finite difference method, finite element methods, spectral methods and boundary integral methods. Basic theory of convergence, stability and error estimates.

CSIC 5031* Modeling, Optimization, and Statistics
An introduction to several fundamental and practically-relevant areas of numerical computing with an emphasis on the role of modern optimization. Topics include computational linear algebra, basics of linear and semidefinite programming, optimization for statistical regression and classification, and techniques for dealing with uncertainty and intractability in optimization problems. Applications drawn from image processing, statistics, control theory, and engineering.

CSIC 5041 Finite Element Methods
Variation principles and methods; finite element formulation; finite element analysis of 1-D, 2-D and 3-D linear elasticity, heat transfer, eigenvalue and nonlinear problems.

CSIC 5151 Introduction to Genomics and Bioinformatics
DNA is carrying genetic information with four letters: A, C, G and T. Just like letters in a book, letters of DNA is telling stories about growth, development, functioning and reproduction of each cell. Genomics is a discipline to study sequence of these letters in all DNA of your cells. In cancer cells, meanings of some sentences are changed because of alterations in these letters. In this course, we will introduce next generation sequencing and mathematical models of detecting such alterations.

CSIC 5090 Multiscale Modeling and Simulations
This course covers fundamentals of multiscale modeling and computations with emphasis on the coupling of physical descriptions across different scales and on multiscale computational methods. Multiscale concepts are introduced using examples from engineering and scientific problems. Development of fundamental concepts of multiscaling. Description of multiresolution algorithms and multiphysics techniques including stochastic simulations algorithms and their coupling to deterministic schemes.