Teaching
Courses at Northwestern University
ME 327/CEE 327: Finite Elements Methods in Mechanics
- Quarter: Fall 2025
- Level: Undergraduate / Graduate
- Prerequisites: Basic computer programming (in Python) and basic linear algebra
- Tools & Software: Python (NumPy, scikit-learn), Abaqus, Jupyter Notebooks
- Format: Lectures + Hands-on Labs
- Delivery: In-person
- Course Description:
This course provides a practical introduction to the Finite Element Method (FEM), with an emphasis on hands-on implementation using Python. It covers the basic theoretical concepts necessary to understand and apply FEM, without going into extensive mathematical detail. Students will learn how to build FEM solvers with minimal external dependencies and how to use a general-purpose framework (Abaqus). The course focuses on solving elliptic partial differential equations, with applications in heat conduction, linear elasticity, and potential flow, covering a broad range of topics relevant to students of civil and mechanical engineering.
ME 395: Machine Learning for Mechanical Sciences
- Quarter: Spring 2026
- Level: Undergraduate / Graduate
- Prerequisites: Basic computer programming (in Python) and basic linear algebra
- Tools & Software: Python (PyTorch/Jax, NumPy, scikit-learn, pandas), Jupyter Notebooks
- Format: Lectures + Hands-on Labs
- Delivery: In-person
- 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 mechanical sciences 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 machine learning into mechanical sciences by introducing foundational ML concepts with a focus on physical modeling and engineering applications—including dynamical systems, solid mechanics, heat transfer, fluid mechanics, materials science, and manufacturing and design —to build predictive models that emulate the underlying physics by augmenting data with first principles—or vice versa—depending on the application.