Asee peer logo

Integrated use of Programming in Machine Design Course

Download Paper |


2017 ASEE Annual Conference & Exposition


Columbus, Ohio

Publication Date

June 24, 2017

Start Date

June 24, 2017

End Date

June 28, 2017

Conference Session

Programming, Virtual Reality, and Dynamic Systems

Tagged Division

Mechanical Engineering

Page Count




Permanent URL

Download Count


Request a correction

Paper Authors


Michelle M. Blum Syracuse University

visit author page

Dr. Blum is interested in research in improving undergraduate engineering education; including development of student design projects, professional skills development and inclusion and outreach activities.
Dr. Blum is also involved with advising and outreach. She was a founding member of the Advisory Committee for the WiSE Women of Color in STEM Program and has developed and participated in many college level outreach programs; specifically developing a hands-on activity to introduce students to the fundamental material science, mechanics and biomedical engineering through the concept of biomimicry.
Her other research specializes in high performance materials development and characterization for tribological (friction and wear), structural, and biomedical applications. Her primary research interests are in the development of orthopedic biomaterials, and biomaterial characterization utilizing a combination of experimental techniques, nanoindentation, and soft material contact mechanics simulations. Understanding the structure-property relationships of biological tissues during contacting motion aids her lab in the development of synthetic biomimetic materials.

visit author page


John F. Dannenhoffer III Syracuse University

visit author page

John Dannenhoffer is an Associate Professor of Mechanical & Aerospace Engineering and the Program Director of the Aerospace Engineering Program at Syracuse University. Before joining Syracuse in 2002, he worked for the United Technologies Corp for nearly 25 years.

visit author page

Download Paper |


This paper presents enhancements to an undergraduate mechanical engineering machine design course that are aimed at teaching students the importance of computer-based analysis of complex systems. These enhancements also aim to provide students with preparation for professional practice by instilling in them the skills needed for using modern engineering tools, specifically in the machine design process. This was accomplished by developing analysis-based projects that students code in a math computational program (typically MATLAB). Three of these projects were carried out throughout the semester in conjunction with an introduction to the design philosophy presented by the textbook by R.L. Norton [1].

Machine design is a required course for all nationally accredited undergraduate mechanical engineering degrees. The course typically occurs during student’s junior year, and serves as the key link between the engineering mechanics course sequence consisting of statics, dynamics, and strength of materials with the capstone project course for senior students. A conventional machine design class can be separated into two main themes; design analysis and design synthesis [1, 2]. Design analysis involves calculating physical quantities such as induced stresses, deformation, and fatigue life using theoretical and empirical equations, tables, and graphs when given either component dimension, external loads, internal mass and kinematic motions. Design synthesis involves choosing and sizing proper machine elements having certain final design specifications. This involves having a working knowledge of machine elements such as linkages, bearings, gears, springs, screws and fasteners, shafts, and columns. Over the years, machine design courses across academia have been improved with efforts to introduce project based learning [3], hands-on machine design laboratories [4] and finite element analysis projects [5].

Despite advances in overall curriculum, junior level machine design course delivery has not changed much from authoritative lecture style in the classroom, together with homework assignments that only reinforce analysis concepts by solving problems through plugging explicitly given parameters in the problem statement into recently learned equation. Although the students develop a decent understanding of the theory, they struggle when given problems with ambiguous or open-ended solutions and have trouble when trying to analyze multiple design parameters in an analysis, where hand calculations can become tedious. This leads to understanding of the analytical models, but does not equip students to make appropriate assumptions for that model; also, they cannot handle uncertainty and ambiguity in the design. Overall this results in student frustration and disengagement from the course.

In engineering practice, only some of an engineer’s time is spent executing analyses that have been pre-packaged. More often than not, the engineers find themselves in the position of performing an analysis that is different from those done previously. Hence, there is a great need for students to learn how to program comprehensive and integrate software to solve machine design problems because it allows them to simultaneously take multiple design considerations into account. While there are current practices utilizing computational tools in a machine design course, most of the student interaction with the program is where the students only need to input initial design parameters, and all other design calculations are performed within a program [6]. Therefore, it would be beneficial to teach students how to implement their theoretical understanding into an analysis, and by doing so, the fundamental theories and concepts are not marginalized.

The objective of introducing the MATLAB projects was to encourage young mechanical engineers to enhance their programming skills, because modern day engineers need software programming skills to be successful and have a professional edge in industry. The goal of the projects was to provide a platform for improved understanding of machine design and emphasize the importance of programming in mechanical engineering, specifically (1) the fast speed at which complex problems can be analyzed and (2) the ability it provides students to be able to develop creative solutions. Such skills are expected to empower students to solve more challenging open-ended and/or integrated design problems, and to conduct design projects for a more rewarding experience in machine design. This will prepare students for a career of technical excellence in a complex, competitive and technological environment.

The following manuscript (1) describes the rationale for introducing the projects, (2) gives detail descriptions of the projects and (3) assesses the efficacy of the projects to achieve the objectives through results obtained from a survey given to students during their senior capstone design course. The three projects cover the static analysis of a relatively simple problem (to help ease the transition from analytical to computational methods), the quasi-static analysis of a deploying multi-bar mechanism, and the dynamic analysis of the same deploying multi-bar mechanism.

Blum, M. M., & Dannenhoffer, J. F. (2017, June), Integrated use of Programming in Machine Design Course Paper presented at 2017 ASEE Annual Conference & Exposition, Columbus, Ohio. 10.18260/1-2--28547

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: © 2017 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