MICDE Graduate Programs

Expertise in computational research methods is crucial to success in a wide range of fields. The University of Michigan offers three graduate-level programs aimed at preparing students to excel in computationally intensive environments in both academy and industry.

  • The Ph.D. in Scientific Computing is intended for students who will make extensive use of large-scale computation, computational methods, or algorithms for advanced computer architectures in their studies.
  • The Graduate Certificate in Computational Discovery and Engineering trains graduate students in computationally intensive research so they can excel in interdisciplinary HPC-focused research and product development environments.
  • The Graduate Certificate in Computational Neuroscience provides training in interdisciplinary computational neuroscience to graduate students in experimental neuroscience programs and to graduate students in quantitative science programs, such as physics, biophysics, mathematics and engineering. The curriculum includes required core computational neuroscience courses and coursework outside of the student’s home department research focus, i.e. quantitative coursework for students in experimental programs, and neuroscience coursework for students in quantitative programs.

All the students in either program have access to a CAEN account, that gives more options to connect and use U-M High Performance Computing resources, regardless of affiliation. If you would like to set up yours, or use it, please contact us at micde-contact@umich.edu.

We organize informational sessions at the beginning of each term. The slides from the September 2019 info sessions can be found in this link.

Please note the following enrollment deadlines:

  • To be considered for enrollment in Fall, students will need to apply by August 1st
  • To be considered for enrollment in Winter, students will need to apply by December 1st

(So, for example, if you want to graduate in Winter 2018, you must apply by December 1, 2017.)

Scientific Computing Courses at U-M

The University of Michigan offers a wide range of courses on or related to Scientific Computing that are taught all around campus. A non-exhaustive list can be found here.

Highlighted Courses

Methods and Practices of Scientific Computing (Kochunas, NERS 590) is designed for graduate students who are developing the methods, and using the tools, of scientific computing in their research, is offered in Fall 2019. This is the first course designed and organized by MICDE faculty. For more information, including the syllabus, please visit the course description page.

Parameter Inference and State Estimation (Gorodetsky, AERO 740) covers theory and algorithms for combining models and data in engineering systems. Topics will include algorithms for maximum likelihood estimation, Bayesian inference, and regression for static inference problems and for estimation in dynamical systems. Course description here.

Computational Data Science and Machine Learning (Nadakuditi, EECS 505) is an introduction to computational methods for identifying patterns and outliers in large data sets. Topics include the singular and eigenvalue decomposition, independent component analysis, graph analysis, clustering, linear, regularized, sparse and non-linear model fitting, deep, convolutional and recurrent neural networks. Students program methods; lectures and labs emphasize computational thinking and reasoning. Course description here.

Defects in Materials and Fundamentals of Atomistic Modeling (Fan, ME599) focuses on how microstructural defects are related to the macroscale phenomena of the materials, such as diffusion, deformation, radiation response, phase transformations, etc. Course description here.

Other courses:

  • Programming for Scientists and Engineers (EECS 402) presents concepts and hands-on experience for designing and writing programs using one or more programming languages currently important in solving real-world problems.
  • Introduction to Machine Learning (EECS 445) is the theory and implementation of  state-of-the-art machine learning algorithms for large-scale real-world applications. Topics include supervised learning (regression, classification, kernel methods, neural networks, and regularization) and unsupervised learning (clustering, density estimation, and dimensionality reduction).
  • Introduction to Artificial Intelligence (EECS 492) is the introduction to the core concepts of AI, organized around building computational agents. Emphasizes the application of AI techniques.  Topics include search, logic, knowledge representation, reasoning, planning, decision making under uncertainty, and machine learning.
  • Parallel Computing (EECS 587) is the development of programs for parallel computers. Basic concepts such as speedup, load balancing, latency, system taxonomies. Design of algorithms for idealized models. Programming on parallel systems such as shared or distributed memory machines, networks. Grid Computing. Performance analysis.
  • Artificial Intelligence Foundations (EECS 592) is an advance introduction to AI emphasizing its theoretical underpinnings.  Topics include search, logic, knowledge representation, reasoning planning, decision making under uncertainty, and machine learning.
  • Data-Driven Analysis and Modeling of Complex Systems (Prof. Duraisamy, Aero 790) aims to apply data analysis and data-driven modeling to simulations and to experimental data.


Every year, MICDE awards fellowships for students in either the Ph.D in Scientific Computing, the Graduate Certificate in Computational Discovery and Engineering or the Graduate Certificate in Computational Neuroscience programs. Fellows receive a $4,000 research fund that can be used to attend a conference, to buy a computer, or for any other advisor-approved activity that enhances the Fellow’s graduate experience.

For more information or to see a list of past recipients, please see http://micde.umich.edu/academic-programs/micde-fellowships/.