MICDE Graduate Programs

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

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 FALL 2018 info sessions can be found in this link.

Please note the following change to graduate certificates regarding 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

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. Please visit the course description page for more information.

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 2018. 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.

On-Ramp to Data Science for Chemical Engineers (Mayes, ChE 696) covers essential foundational concepts that are not part of many engineering disciplines’ core curricula. These include: good programming practices, data structures, linear algebra, numerical methods, algorithms, probability, and statistics. The class’s focus will be on how these topics relate to data science and to provide context for further self-study.


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.
  • Data Mining (EECS 498 sec 001) covers the fundamental concepts in data mining, focuses on methods and algorithms and, at the same time, aims to equip the students with practical skills for mining of large-scale, real data. The topics that will be covered include big data systems, frequent itemsets, similarity and cluster analysis, mining of networks / text / time series / data streams, and applications, such as recommendation systems, online advertising, social network analysis and web search.
  • 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.`


Every year, MICDE awards fellowships for students in either the Ph.D in Scientific Computing or the Graduate Certificate in Computational Discovery and Engineering 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 the 2017-2018 academic year, MICDE received more than 90 applications for the fellowships. For more information or to see a list of past recipients, please see http://micde.umich.edu/academic-programs/micde-fellowships/.