Asee peer logo

Integrated Development of Programming Skills Using MATLAB within an Undergraduate Dynamics Course

Download Paper |

Conference

2016 ASEE Annual Conference & Exposition

Location

New Orleans, Louisiana

Publication Date

June 26, 2016

Start Date

June 26, 2016

End Date

June 29, 2016

ISBN

978-0-692-68565-5

ISSN

2153-5965

Conference Session

Uses for MATLAB in Mechancial Engineering

Tagged Division

Mechanical Engineering

Page Count

10

DOI

10.18260/p.25770

Permanent URL

https://peer.asee.org/25770

Download Count

491

Request a correction

Paper Authors

author page

Matthew Rhudy Pennsylvania State University - Berks Orcid 16x16 orcid.org/0000-0001-7613-4003

biography

Rungun Nathan Pennsylvania State University - Berks Orcid 16x16 orcid.org/0000-0002-0651-1448

visit author page

Dr. Rungun Nathan is an associate professor and program coordinator for the mechanical engineering in the division of engineering at Penn State Berks. He got his BS from University of Mysore, DIISc from Indian Institute of Science, MS from Louisiana State University and PhD from Drexel University. He has worked in the area of Electronic Packaging in C-DOT (India) and then as a Scientific Assistant in the Robotics laboratory at Indian Institute of Science, Bangalore, India. He worked as a post-doc at University of Pennsylvania in the area of Haptics and Virtual Reality. His research interests are in the areas of unmanned vehicles particularly flapping flight, mechatronics, robotics, MEMS, virtual reality and haptics, and teaching with technology. He has ongoing research in flapping flight, Frisbee flight dynamics, lift in porous material and brain injury He is an active member of ASEE and ASME and reviewer for several ASME, IEEE and ASEE, FIE conferences and journals.

visit author page

Download Paper |

Abstract

This project introduces a method of teaching undergraduate students MATLAB programming within a typical engineering lecture course, dynamics. This particular course was chosen because its content offers natural connections between engineering and programming concepts. The MATLAB programming instruction and assignments were approached through the context of the dynamics course material. This allowed students to make connections between their typical dynamics course content and the more abstract programming concepts which can sometimes be difficult for them to understand. This idea was indicated to be effective through anonymous student comments from student evaluations. Some engineering curricula do not have a dedicated programming course to teach students MATLAB, which is extremely prevalent in engineering industry and research due to its relative ease of use for students when compared to other programming languages such as C [1]. The connections between MATLAB and the engineering community are plentiful. MATLAB is a useful tool for demonstrating and teaching engineering concepts, e.g. to teach dynamic systems and control [2] or acoustics [3]. On the other hand, engineering concepts tend to be more concrete for students to understand, thus providing an effective means to develop an understanding of more abstract programming concepts. The methods for teaching MATLAB programming vary greatly among different institutions and instructors. One instructor has considered the use of an automated grading system to streamline grading of MATLAB assignments as well as to provide students with a means to check their programs online4. Other digital approaches have been considered in order to provide an automated interactive learning experience for students [5,6]. Some instructors consider the use of hardware such as microcontrollers [7] or robotics [8] in order to produce a more “hands-on” programming experience. Other instructors consider approaches designed to engage student interest through the use of media and technology [9], such as game controllers [10]. A different approach was considered in this work which incorporates MATLAB programming instruction into a dynamics course which already exists in many engineering curricula. Teaching MATLAB within a course such as dynamics not only helps to reduce the number of courses that a student needs to take, but also provides some engineering context to the programming techniques. I.e., certain concepts such as decision statements (“if” statements) in programming can be related to a particular application where this would be used, such as determining the direction of frictional forces. This helps students to not only understand how something is used, but also why it is important and where it can be useful. This idea was implemented within an undergraduate dynamics course that met 4 hours per week. Most of the students at this point in their academic career have only had minor exposure to MATLAB within their introduction to engineering course, which is a common approach taken by many institutions [11]. The goal of the MATLAB portion of the class was to teach students about computer programming using MATLAB as well as to leverage and reinforce engineering concepts from dynamics in the process. Each week typically contained 25 minutes of MATLAB demonstration from the instructor, 25 minutes of in-class time to work on exercises facilitated by the instructor, and one MATLAB programming problem which was tied into the dynamics course content for the week.

To validate the effectiveness of this project, some comments pertaining to MATLAB from the student evaluations are listed below: • MATLAB sessions were very helpful • I really enjoyed the MATLAB lectures. I feel more comfortable using it • The instructor included MATLAB in practical applications which really helped me understand it better • The project really helped us learn MATLAB • The instructor did a very good job at including MATLAB to make us understand the material • I was a big fan of how the instructor did the MATLAB sections of the course as I learned a great deal from it • The MATLAB lectures were very helpful to my development of MATLAB skills • I learned a great deal about MATLAB, which was especially helpful in other courses These comments indicate that the students overall reflected positively on this experience. It is especially encouraging that students noted the benefit of using “practical applications” and recognized that this programming knowledge was “helpful in other courses.” Overall, this idea seems to offer a reasonable approach for teaching engineers programming skills, and is worth considering further.

References [1] Fangohr, H., “A comparison of C, MATLAB, and Python as teaching languages in engineering,” Computational Science-ICCS, 2004, pp. 1210-1217. [2] Rodriguez, Armando, DeHerrera, M. F., and Metzger Jr., R. P., “An interactive MATLAB-based tool for teaching classical systems and controls,” IEEE Frontiers in Education Conference, Vol. 2, 1996, pp. 624-627. [3] Campbell, D., Palomaki, K., and Brown, G., “A Matlab simulation of “shoebox” room acoustics for use in research and teaching,” Computing and Information Systems,” Vol. 9, No. 3, 48, 2005, pp. 48-51. [4] Bowen, J. D., and Price, C. E., “An automated grading system for teaching MATLAB to freshman engineers,” Proceedings of the 2003 American Society for Engineering Education, 2003. [5] Daku B., L., F., and Jeffrey K., D., “An Interactive Computer Based Tutorial for MATLAB,” IEEE Frontiers in Education, Kansas City, MO, Nov. 2000. [6] Daku B., L., F., and Jeffrey K., D., “Development of an interactive CD-ROM-based tutorial for teaching MATLAB,” IEEE Transactions on Education, Vol. 44, No. 2, 2001. [7] Canfield, S., Ghafoor, G., and Abdelrahman, M., “Enhancing the programming experience for first-year engineering students through hands-on integrated computer experiences,” Journal of STEM Education, Vol. 13, No. 4, 2012, pp. 43–54. [8] Behrens, A., Atorf, L., Schwann, R., Neumann, B., Schnitzler, R., Balle, J., Herold, T., Telle, A., Noll, T. G., Hameyer, K., and Aach, T., “MATLAB meets LEGO Mindstorms—A freshman introduction course into practical engineering,” IEEE Transactions on Education, Vol. 53, No. 2, 2010, pp. 306-317. [9] Guzdial, M., and Soloway, E., “Teaching the Nintendo generation to program,” Communications of the ACM, Vol. 45, No. 4, 2002, pp. 17-21. [10] Brindza, J., Szweda, J., Liao, Q., Jiang, Y., & Striegel, A., “WiiLab: bringing together the Nintendo Wiimote and MATLAB,” IEEE Frontiers in Education Conference, 2009, pp. 1-6. [11] Clough, D. E., Chapra, S. C., & Huvard, G. S., “A change in approach to engineering computing for freshmen–similar directions at three dissimilar institutions,” ASEE Annual Conference and Exposition, St. Louis, MO, June 2001, pp. 773-784.

Rhudy, M., & Nathan, R. (2016, June), Integrated Development of Programming Skills Using MATLAB within an Undergraduate Dynamics Course Paper presented at 2016 ASEE Annual Conference & Exposition, New Orleans, Louisiana. 10.18260/p.25770

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2016 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015