Academics / Courses / Course DescriptionsMECH_ENG 395: Machine Learning for Mechanical Sciences
VIEW ALL COURSE TIMES AND SESSIONS
Description
Course Title: Machine Learning for Mechanical Sciences
Course Level: Undergraduate (Junior/Senior Level) / Graduate
Tools & Software: Python (PyTorch/Jax, NumPy, scikit-learn, pandas), Jupyter Notebooks
Course Description:
Mechanical engineering has traditionally relied on physics, mathematics, and empirical knowledge to design and optimize systems. Machine learning (ML) introduces powerful tools that can complement this foundation by enabling data-driven modeling, prediction, and automation. In recent years, ML applications in mechanics have led to notable advances, such as automation in material modeling, acceleration of simulations, design optimization, and materials discovery. However, this flexibility often comes at the cost of reliability, particularly in safety-critical applications, when models are required to extrapolate beyond observed data or when the quantity and/or quality of available data is insufficient. This course addresses the need for principled integration of ML into Mechanics by introducing the fundamentals of machine learning with a focus on physical modeling and engineering applications. Students will explore three core objectives:
- Leveraging automatic differentiation to build differentiable models for forward and inverse problems,
- Understanding key modeling paradigms in machine learning,
- Quantifying uncertainty and assessing the risks associated with data-driven models.
Special emphasis will be placed on physics-encoded surrogate models and physics-constrained data assimilation. By the end of the course, students will be equipped with both conceptual and computational tools to responsibly and effectively apply ML in mechanical engineering.
Topics covered in this course include:
- Introduction to Probabilistic Modeling and Bayesian Inference
- Introduction to Optimization
- Supervised Learning
- Multi-Layer Perceptron (MLP)
- Convolutional Neural Network (CNN)
- Recurrent Neural Network (RNN)
- Gaussian Processes
- Unsupervised Learning
- Proper Orthogonal Decomposition (POD)
- Dynamic Mode Decomposition (DMD)
- Autoencoders
- Uncertainty Quantification and Active Learning
While prior exposure to programming, linear algebra, and probability is helpful, no specific background is required, provided students have sufficient mathematical maturity. The course is designed to make machine learning accessible to mechanical engineering students from a wide range of academic experiences. All examples and homework assignments are grounded in mechanics-related applications. To support students throughout the course, introductory sessions will cover the basics of Python programming and the core functionality of PyTorch. These sessions are intended to equip students with the essential tools needed to complete exercises and fully understand the course material.