The graduate program in Scientific Computing is an interdisciplinary program in spirit which focuses on numerical methods and techniques relevant to the solution of scientific or engineering problems. It also includes computational experiments demonstrating the effectiveness of a proposed technique. Typically, research work includes numerical simulation of physical phenomena using state of the art numerical methods; efficient implementation of a new numerical scheme by using high performance computing techniques; analysis of theoretical aspects of a numerical method and its validation through numerical experimentation; design and analysis of efficient data structures to solve a scientific problems; development of mathematical software for solving scientific and engineering problems using modern techniques of software development.

Although computation is one of the key components, this program is NOT a Computer Science program. The Scientific Computing program consists of three major components:

1. Application: research focuses on solving numerically a practical problem or designing new methods or techniques for solving a specific problem.

2. Theory: the work should include an analysis and discussion of theoretical aspects of the proposed techniques and/or the problem to be solved.

3. Computation: research work should use efficient implementation by using high performance techniques such as parallel programming or modern techniques of software development, for example object oriented programming.

For more information about our academic and research activities Scientific Computing Research

Applicants for admission should have an undergraduate degree in Mathematics, Science, Engineering or an equivalent. Candidates are expected to have approved courses in multivariable calculus, differential equations, linear algebra, numerical analysis and data structures, as well as having programming experience using a high level language such as C\C++.

In addition to the requirements of the Office of Graduate Studies, the Master of Science degree in Scientific Computing with Thesis, Option I, requires a minimum of 32 credits distributed as follows:

1. 12 credits in core courses

- MATE 6672, Numerical Mathematical Analysis
- MATE 6025, Numerical Linear Algebra
- COMP 6785, Analysis of Algorithms
- COMP 6786, High Performance Computing

2. 9 credits from the following (area of specialization)

- COMP 5055, Parallel Computing
- COMP 5045, Automata and Formal Languages
- COMP 6025, Scientific Visualization
- COMP 6838, Topics in Scientific Computing
- COMP 6839, Topics in Scientific Computing
- ESMA 5015, Stochastic simulations
- ESMA 6665, Computational Statistics
- MATE 5016, Game Theory
- MATE 5047, Intermediate Differential Equations
- MATE 5049, Calculus of Variations
- MATE 5055, Vector Analysis
- MATE 5150, Linear Algebra
- MATE 6005, Combinatorics
- MATE 6026, Numerical Optimization
- MATE 6674, Numerical Methods for Partial Differential Equations
- MATE 6675, Mathematics in the Modern Sciences I
- MATE 6676, Mathematics in the Modern Sciences II
- CIIC 6005, Foundations of Computing

3. 6 credits outside the area of specialization or major. The requirement of a minimum of two out-of-discipline courses is to ensure cross-disciplinary breadth. The courses must be related to mathematics and should be chosen in a coherent way. These should be of level 5000 or higher. It is recommended that student choose these courses with the help of their advisor.

- 6000 or 5000 level courses not listed in the major or
- 6000 or 5000 level courses outside the math department

4. 2 credits in Internship or Seminar

- COMP 6787, Internship (2 credits)

or

- MATE 6991, Seminar I (1 credit)
- MATE 6692, Seminar II (1 credit)

5. 3 credits in Thesis

- COMP 6998 (3 credits)

Option II: project option: the course and examination requirements are similar to Option I, however the 3 Thesis credits must be replaced by 3 Project credits. An oral examination on the project is also required.

Option III, no project, no thesis: the student should approve a minimum of 36 course credits:

- A minimum of 27 credits at graduate level
- A minimum of 21 credits in the area of specialization
- A minimum of 6 credits in courses related to, but outside the area of specialization.

List of faculty associated with this program and their research interests

Robert Acar, (Numerical Analysis, Partial Differential Equations, Inverse problems)

Israel A. Almodovar-Rivera (Cluster Analysis, Public Health, Statistical consulting, Data Mining, Data Science, Data Visualization, Analysis of Massive Datasets, Statistical Computing, Statistical Learning, Statistical Education)

Dorothy Bollman, (Parallel Algorithms, High Performance Computing)

Alcibiades Bustillo (Parallel Algorithms, High Performance Computing and Computational Discrete Mathematics)

Omar Colón (Non-Linear Dynamics of Discrete Dynamical Systems. Math Olympiads)

Edwin Flórez (Computer Programming, Math Education, Data Analysis, Computer Graphics)

Flor Narciso, (Computer Science)

Roberto Rivera (data science, machine learning, statistics, time series)

Lev Steinberg, (Mathematical Modeling, Nonlinear Mechanics)

Alexander Urintsev, (Fluid Dynamics, Stability, Symbolic Computation)

Xuerong Yong, (Graph theory with applications, Combinatorics, algorithms)