New Orleans, Louisiana
June 26, 2016
June 26, 2016
August 28, 2016
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 . 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  or acoustics . 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  or robotics  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 , such as game controllers . 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 . 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  Fangohr, H., “A comparison of C, MATLAB, and Python as teaching languages in engineering,” Computational Science-ICCS, 2004, pp. 1210-1217.  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.  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.  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.  Daku B., L., F., and Jeffrey K., D., “An Interactive Computer Based Tutorial for MATLAB,” IEEE Frontiers in Education, Kansas City, MO, Nov. 2000.  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.  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.  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.  Guzdial, M., and Soloway, E., “Teaching the Nintendo generation to program,” Communications of the ACM, Vol. 45, No. 4, 2002, pp. 17-21.  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.  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