Skip to content

hanhuark/MEEG-54403

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

332 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

For U of A students interested in enrolling in the machine learning class in Fall 2025: If you cannot enroll in the course successfully, please use the following override form: https://uark.sharepoint.com/teams/ENGR/SitePages/Override-Forms.aspx

MEEG-44403/54403: Machine Learning for Mechanical Engineers

Open in MATLAB Online

Instructors: Han Hu and Christy Dunlap

Course Description:

Overview:

This course covers an introduction to supervised and unsupervised learning algorithms for engineering applications, such as visualization-based physical quantity predictions, dynamic signal classification, and prediction, data-driven control of dynamical systems, surrogate modeling, and dimensionality reduction, among others. The lectures cover the fundamental concepts and examples of developing machine learning models using Python and MATLAB. This course includes four homework assignments to practice the application of different machine learning algorithms in specific mechanical engineering problems and a project assignment that gives the students the flexibility of selecting their topics to study using designated machine learning tools. The overarching goal of this project is to equip mechanical engineers with machine learning skills and deepen the integration of data science into the mechanical engineering curriculum. Compared to machine learning courses offered by computer science and data science programs, this course has a much stronger focus on integration with mechanical engineering problems. Students will be provided with concrete and specific engineering problems with experimental data. The projects, presentations, and in-class peer review practice are designed to foster students’ professional skills following the National Association of Colleges and Employers (NACE) competencies, including critical thinking, communication, teamwork, technology, leadership, and professionalism. Graduate students are required to complete an extra assignment (selected from three provided options) and a supercomputing assignment.

course_overview

Learning Objectives:

Students completing this course are expected to be capable of
• Develop, train, and test machine learning models using Python/TensorFlow and MATLAB
• Develop machine learning models for image classification and clustering
• Perform data dimensionality reduction for physics extraction
• Analyze images/maps from experiments and simulations to predict physical quantities
• Adapt trained machine learning models to new applications
• Analyze time series for classification and regression
• Develop surrogate models for computationally expensive numerical simulations
• Benchmark the scalability of machine learning models on CPU and GPU clusters
• Develop complex machine learning models by integrating two or multiple mechanisms in tandem

Textbook:

This class does not require a textbook, but the following book is a good reference, particularly for Assignments 1 and 3.
Steven L. Brunton, J. Nathan Kutz, Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control, 1st ed, Cambridge University Press, 2019

Software Packages:

Python Packages:

  • TensorFlow
  • PyTorch
  • NumPy
  • SciPy
  • scikit-learn
  • Keras
  • Pandas
  • Matplotlib
  • Seaborn
  • OpenCV

MATLAB and Toolboxes:

Tutorials for Assignments (MATLAB version):

Acknowledgments:

The most recent content of the course was created by Christy Dunlap under the support of NSF . The initial development of the course was supported by the Department of Mechanical Engineering at the University of Arkansas(led by Steve Tung) and the Arkansas NSF EPSCoR Data Analytics that are Robust and Trusted (DART) Project (led by Jennifer Fowler). The experimental datasets used in the assignments were prepared by Hari Pandey and the development of the original course content was supported by Connor Heo and Christy Dunlap. The course syllabi and content were updated following the comments from the Department of Mechanical Engineering Curriculum Committee (chaired by Steve Tung) and students enrolled in this course from 2021 - 2024. The Python tutorials for the assignments were developed by Milad Sangsefidi and Daniel Peraza (Assignment 1), Pengxiang Jiang (Assignment 2), Mohammad Kokash (Assignment 3), and Braden Stevens (Assignment 4). The MATLAB tutorials for the assignments were developed by Najee Stubbs under the support of a gift from the MathWorks Curriculum Development Support program (organized by Mehdi Vahab).

Publications:

A. Publications consisting of course projects/assignments

B. Educational papers