Carnegie Mellon University Professors Use Online MATLAB Tutorials to Teach Computational Methods for Biomedical Engineering
Increase student engagement in learning computational methods for biomedical engineering applications
Adopt a flipped classroom strategy in which students complete MATLAB online tutorials to learn the basics of MATLAB before class sessions
- Flipped classroom enabled
- Active participation sparked
- Programming efficiency increased
For students who have relatively little experience with programming, a graduate-level course on computational or numerical methods can be daunting. To engage these students, and to enable them to reach a functional level for engineering tasks within a semester, instructors must provide meaningful exercises tailored to the students’ specific engineering interests while ensuring that students advance at a rapid pace without being overwhelmed by low-level coding details.
Carnegie Mellon University professor of biomedical engineering Dr. Yu-li Wang met this challenge by combining a flipped classroom strategy with MATLAB® based assignments. Students complete interactive MATLAB tutorials before coming to class. In class, they apply the basic skills they’ve acquired in the tutorials to problems that are at a more advanced level or relevant to biomedical engineering. Dr. Wang has found that this approach increases engagement and helps prepare students for the engineering problems they will tackle as practising professionals.
“Teaching numerical methods with a traditional, textbook-based approach can be dry and not particularly interesting for the students, so in my course we jump right into the tasks with MATLAB,” says Dr. Wang. “By the end of the course, the students are better prepared to be effective engineers than students trained in a more conventional numerical methods class.”
Dr. Wang’s new course, Fundamentals of Computational Biomedical Engineering, is the first graduate-level biomedical engineering course at CMU to be based entirely on MATLAB and Simulink®. An early in-class survey conducted by Dr. Wang revealed that, despite their limited programming backgrounds, most students wanted to become “power users” of MATLAB and to use it for both their biomedical engineering coursework and future career.
While he had decades of programming experience in other languages, from assembly languages to C++, Dr. Wang was not a MATLAB expert. To prepare for each class session, he needed to develop his own proficiency and identify the resources that students would use.
Dr. Wang used MathWorks online training courses to learn MATLAB and implement a flipped classroom approach to the new computational methods course. Before assigning a tutorial to students, Dr. Wang would complete it himself, for both pacing the progress and identifying areas where students might need assistance.
Dr. Wang found that he could minimize the time spent teaching the basic syntax in the classroom by asking students to complete the tutorial he specifies before class. In class, he briefly reviewed the main concepts presented in the tutorial and then showed the students how to apply them in a biomedical engineering context. For example, in one of their first assignments, students used MATLAB to analyze patient data to find correlations between blood pressure, cholesterol, and overall health. For a lesson on image analysis, students started with an algorithm downloaded from File Exchange on MATLAB Central that performed image segmentation on a photo of rice grains, and modified it to count and measure cell nuclei.
By adopting a similar pedagogical approach, Dr. Wang extended several important topic areas after completing a tutorial. For example, for linear algebra, Dr. Wang introduced additional problem-solving materials to cover the applications of eigenvectors, singular value decomposition, and principal component analysis. The foundation the students had built using the MATLAB tutorials made it easy for them to grasp otherwise abstract and complex concepts.
When Dr. Wang covered ordinary differential equations (ODEs), he asked students to complete a tutorial on solving ODEs with MATLAB solvers. Students were then asked to solve the same ODEs symbolically using Symbolic Math Toolbox™ and graphically using Simulink.
The course concluded with the Machine Learning with MATLAB tutorial. Many students then chose to use either conventional machine learning or neural network-based deep learning for a final project on a subject of their choosing. Topics included the classification of chest X-ray images for detecting pneumonia, EEG recordings for detecting dementia, ECG recordings for detecting cardiac arrhythmia, and white blood cell images for automated blood count. Many projects involved comparing classification approaches, from simple regression to deep learning.
For future semesters, Dr. Wang plans to allot additional time to machine learning and deep learning in response to student feedback and the students’ widespread use of classifiers on their final projects.
- Flipped classroom enabled. “The MATLAB tutorials made a day-and-night difference in my ability to teach computational methods, with a flipped classroom to maximize the outcome,” says Dr. Wang. “If I were teaching the class with Python, for example, I would likely have to take time out of lectures to teach the basics or spend my own time creating similar tutorials.”
- Active participation sparked. “MATLAB Fundamentals replaced what would have been a series of boring and time-consuming lectures,” says Dr. Wang. “As their skills built up, the students became more active and involved, and they responded with better and more interesting answers to the challenges I gave them.”
- Programming efficiency increased. “MATLAB is an extremely efficient tool for engineering that makes it possible for both students and practicing professionals like me to solve problems easily and quickly,” says Dr. Wang. “If I were to use C or C++ for prototyping a similar problem—even if I had a good library available—it would likely take me much more time and effort to see the results than if I used MATLAB.”