Courses

This is not a comprehensive list.  To learn what Scientific Computing courses are most applicable to your degree plan and research, please talk to a Program Administrator by emailing micde-contact@umich.edu.

Highlighted Courses:

  • Deployable and Reconfigurable Structures (Filipov, CEE 501) covers the theory, analysis, and design of structures that deploy and reconfigure for functional or adaptive purposes. Applications in civil engineering, mechanical engineering, architecture, aerospace, robotics, and more will be explored. For more information, please visit the course description page.
  • Methods and Practices of Scientific Computing (Kochunas, NERS 570/ENGR 570) is designed for graduate students who are developing the methods, and using the tools, of scientific computing in their research, is offered in Fall 2021. This course was designed and organized by MICDE faculty. For more information, including the syllabus, please visit the course description page.
  • Statistical Inference, Estimation, and Learning (Gorodetsky, AEROSP 567) covers theory and algorithms for synthesizing models and data for general applications across science and engineering. 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, ME 570) 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.