Introduction To MATLAB Programming In Fundamentals Of .

Transcription

Paper ID #33027Introduction to MATLAB Programming in Fundamentals of Engineering CourseDr. Djedjiga Belfadel, Fairfield UniversityDjedjiga Belfadel is an Associate Professor in the Electrical and Biomedical Engineering departmentat Fairfield University. She obtained her Ph.D. degree from the University of Connecticut in 2015, inelectrical engineering. Her interests include embedded systems, target tracking, data association, sensorfusion, machine vision, engineering service, and education.Dr. Michael Zabinski, Fairfield UniversityProfessor, Mechanical Engineering,Fairfield University, Fairfield, CTDr. Isaac Macwan, Fairfield UniversityWorking in the field of Bioelectronics on molecular dynamics studies at the interface of biological macromolecules and nanoparticles and bacterial assisted nanofabrication strategies utilizing carbon based nanomaterials.c American Society for Engineering Education, 2021

Introduction to MATLAB Programming in a Fundamentals of Engineering CourseDjedjiga Belfadel, Michael Zabinski and Isaac MacwanFairfield UniversityThis Evidence-based Practice Paper outlines the benefits of introducing MATLAB to incomingfreshmen. It is known that an engineering approach to problem solving should be taught with anemphasis on teamwork, oral and written communication, creativity and ingenuity, which can beaccomplished by using coding and computer-aided design tools from early on in the curriculum.The instructional approach taken in this three-credit course is the one in which students are activeparticipants in the learning process. Students typically do not have an opportunity to learn thefundamentals of MATLAB until later in the curriculum, yet coding skills are very useful,especially when introduced early on. MATLAB includes the requisite programming constructs,has an easy to understand Graphical User Interface (GUI), and requires no prior programmingexperience. It is therefore an ideal programming language to introduce in a first-year Fundamentalsof Engineering course. Students majoring in electrical, biomedical, and mechanical engineering,and students who have yet to declare a major take this required course. The MATLAB portion ofthe course consists of three 75-minute sessions that are presented in a workshop format and threemajor assignments. The course provides core engineering knowledge and is taught in an interactiveformat. It enriches the curriculum by teaching MATLAB programming in conjunction with avariety of engineering problems in a relatively short time period. This paper presents data that isrelated to homework assignments and student surveys and describes the methodology by whichdata was collected. The approach taken is to develop student awareness of modern technology andits use in engineering. This approach ties with ABET student outcome (1) and is based on recallingfacts and basic concepts according to Blooms taxonomy. The data shows that nearly 80% of theincoming freshmen did comprehend the MATLAB basics and met the expectations of performingwell.MATLAB programming was first introduced two years ago in the Fundamentals of Engineeringcourse. We report on this 2-year exercise and include student feedback from the second year.IntroductionA computer programming course is required in most engineering curricula. Typically, such acourse is taught in the freshman or sophomore year and use either Fortran, C or JAVA as itsprogramming language. These programming languages are difficult to use when solvingengineering problems. Students therefore often do not reinforce their programming skills and losea potentially valuable tool. Furthermore, incoming first-year students lack math and engineeringproblem solving skills [1]. This presents a challenge in teaching programming. It is thereforeimportant that the programming projects consist of problems that the students can relate to andidentify with. Also, the required math and engineering principles need to be presented in anelementary and clear way. This requires starting out with elementary problems and subsequentlyincreasing their complexity. MATLAB has enough programming constructs to introduceprogramming in an introductory course and also features a host of advanced application-specific

functions. It also includes graphical user interfaces, debugging tools, and symbolic mathematics.Additional benefits of using MATLAB as first programming language include easy plotting,advanced visualization, and powerful matrix mathematics that result in simpler programs and inthe development of advanced mathematics skills.Students typically do not learn MATLAB until they take higher-level engineering courses [2].Students then find themselves short on the basic skills they need to adapt to the course material.We used the Fundamentals of Engineering course to teach students the basic knowledge of usingMATLAB. In this course multiple active learning projects and hands-on activities areincorporated to provide an active learning environment to incoming first year students. Thiscourse is required for first-semester engineering students at Fairfield University. A key factor isthe heterogeneous nature of the students taking the course, namely, electrical, biomedical,mechanical and undeclared engineering students [3].A major challenge in teaching MATLAB in this course is the fact that the first-year studentshave not had much math or engineering prior to taking the course. It is therefore essential that theproblems are carefully selected and presented in a step by step manner that the students canclearly understand [4]. This requires starting with elementary problems and then increasing thecomplexity of the problems. It is difficult to cover all important MATLAB topics in three 75minutes lectures and in three homework assignments. Students are therefore encouraged to earnextra credit by completing MATLAB’s online training platform – Onramp. It is a free, selfpaced, and hands-on MATLAB training course that takes approximately two hours to complete.Onramp includes eleven main topics and a final project in which students analyze the lightrecorded from a star [5]. In the process students learn an important lesson about the transitionfrom conception to implementation.The purpose of this paper is to provide information that will help optimize the curriculum in afirst-year engineering course and provide examples that are effective in introducing MATLAB tofirst year students. This paper accomplishes this by studying some methods used by othercolleges and universities, along with a discussion of the techniques used by the authors that havebeen effective in teaching MATLAB. We also present results of the survey administered at thecompletion of the MATLAB.Course OverviewThe Fundamentals of Engineering course is team-taught to allow for continuous training of newfaculty, as well as to incorporate regular faculty feedback into the ongoing process ofimprovement. We continuously measure the effectiveness of the course including its annualimprovements. The four sections of the course were recently taught by four faculty with the aidof four Teaching Assistants (TA) who previously took the course [6].First-year engineering courses are subject to a variety of factors in defining their purpose. Thegoal of each course has been carefully selected a priori and is linked to ABET accreditationcourse outcomes. The goals of the course are: (I) Create a passion for engineering. (II) Developan engineering mindset, problem-solving skills, and critical thinking and (III) Developengineering professionalism. Each course outcome links to one of those goals. These outcomes,

which are also linked to ABET-defined student outcomes, are used to define and measure thesuccess of each activity and learning module of the course [7]. A process of continuousimprovement of active learning techniques to achieve each course goal and demonstrate eachoutcome has resulted in the effective development of our first-year engineering students [8].For the MATLAB part of the course the student performance is assessed against ABET criterion1 “an ability to identify, formulate, and solve complex engineering problems by applyingprinciples of engineering, science, and mathematics” [9] [10]. While the MATLAB workshopsare intended to equip students with skills that are useful in a classroom setting, it is also intendedto give students a glimpse into the real world. The workshops were designed to meet thefollowing learning objectives:Learning Objective 1: Identify how programming and mathematics content apply to the fieldof engineering.Learning Objective 2: Understand the basics of MATLAB including that of a workspace, usingm-files, graphics, plotting, and vector manipulation.The main components of the course (in no specific order) Discussion of the undergraduate engineering curriculum at Fairfield University: Facultyguest speakers from each engineering department provided an overview of theirengineering disciplines and job opportunities. Individual Technical Writing: The first major writing project was an individual technicalwriting (ITW) assignment. Each student selected the topic of his/her choice. Thisproject’s main objective was to demonstrate effective technical writing. Individual Oral Presentation: The second project, early in the semester, was anindividual oral presentation (IOP) of the ITW paper. This project’s objective was todemonstrate effective oral communication of technical content. Writing Assignments: Writing assignments (WAs) were chosen as an assessment methodto demonstrate students’ improvements in technical writing. Individual writingassignments included topics ranging from “Explain how something works” to “Reflect onyour speaking skills”. Descriptive Statistics Activity: The topics covered in this lecture include mean, standarddeviation, linear regression, significant figures, and measurement techniques.MATLAB workshops:The MATLAB workshops were conducted during the regular lecture meeting times and taughtby the instructor and a teaching assistant. The TAs were male or female, sophomore or juniorlevel engineering students, who took the course before. The lecture consisted of a introductorysection, in which the students were taught basics of MATLAB programming, and a hands-onsection, in which short programs were written by all students, followed by a choice of optional

one or two more challenging problems. The students were introduced to the MATLABenvironment including the command window, script and function files, variables assignments,plotting, if statement, and for loop, and followed by plot function. The last lecture was about thesymbolic toolbox where students enjoyed using MATLAB to solve calculus problems. Studentswere also asked to complete the Onramp MathWorks training for extra credit.An Example of Extra PracticeQuestions about how Money Grows in the Bank1. How long does it take for money to double?2. Does this time depend on the interest rate? How so?3. Does this time depend on the initial deposit? How so?Write a program in MATLAB and calculate the balance for several years. Do this:1. for several initial deposits2. for several interest ratesclc; clear;d input('Enter the initial deposit: ');r input('Enter the interest rate: ');n input('Enter the number of years for projection: ');yr 1;bal d;disp('Year Balance');for y 1:nfprintf('%5.2f %10.2f \n', y, bal);bal bal bal*(1 r);endYour turn:(1) Change the program to use inputs.(2) Run the programs several times to answer the 3 questions at the top of thispage.(3) Create the following table of results for several initial deposits.deposit 100;Int rate Years to Double5% 146% 12. .10%Repeat this table for initial deposits 200, 500, 1000The bank example is a simulation of how money grows in a bank.MATLAB Onramp and Its ImplementationIn addition to three 75-minutes lectures and three homework assignments, students could earnextra credit for completing MATLAB’s online teaching platform – Onramp. MATLAB Onramp

is a hands-on, self-paced, free, online training course that takes about two hours to complete. Itincludes eleven main topics as shown in Table I. The course starts by introducing fundamentalMATLAB commands, then focuses on importing and visualizing data. At the end studentscomplete a final project in which they implement their newly acquired knowledge. The finalproject requires students to use MATLAB to analyze the light recorded from a star to make abinary decision whether the star is moving towards or away from earth. In the process studentslearn an important lesson about the transition from conception to implementation. In addition tothe Onramp course, there are other similar courses available in the MATLABacademy training portal [11]. These include MATLAB Fundamentals, MATLAB for DataProcessing and visualization, MATLAB Programming Techniques, Simulink Onramp and more.Once students complete the Onramp module, students are encouraged to tackle other modulesand thus improve their background. Upon completion of the course modules, students receive acertificate from MathWorks. We offered an extra credit incentive to encourage students tocomplete the Onramp training platform.Topic DescriptionTopicCommandsImporting DataDescriptionEnter commands in MATLAB to performcalculations and create variablesCreate MATLAB variables that contain multipleelementsBring data from external files into MATLABIndexing into andModifying ArraysArray CalculationsUse indexing to extract and modify MATLABarraysPerform calculations on entire arrays at onceCalling FunctionsCall functions to obtain multiple outputsObtaining HelpMATLAB ScriptsUse the MATLAB documentation to discoverinformation about MATLAB featuresVisualize variables using MATLAB's plottingfunctionsWrite programs in scriptLogical ArraysUse logical expressions in MATLABFinal ProjectBring together the introduced concepts with aprojectVectors and MatricesPlotting DataTable I: Main topics of MATLAB Onramp training

Student FeedbackIn the fall 2020 data was collected via Blackboard from all students (41) of the four sections ofthe Fundamental of Engineering course. Achievement of MATLAB workshops’ outcomes wastracked through quantitative assessment for continuous improvement. The results aresummarized as follows: 80% indicated that the hands-on experience in the MATLAB workshops has caused theirconfidence in their ability to succeed in Engineering to increase. 86.66% indicated that the MATLAB workshops have caused their understanding ofprogramming to increase. 73% believe that MATLAB will be helpful in my future engineering studies. During anecdotal feedback sessions, the majority of students reported that the MATLABOnramp training platform was very helpful.Results of the MATLAB Workshops and OnrampThe majority of students (70% of the class) completed the Onramp training and reported that itwas very helpful in learning different aspects and features of MATL More than 80% of thestudents agreed that the hands-on experience in the MATLAB workshops increased theirconfidence in their ability to succeed in Engineering.In addition to the quantitative feedback from student surveys, we also collated anecdotal studentcomments. During these feedback sessions students were asked to discuss the MATLABworkshops. These feedback sessions served as focus groups with students’ feedback used tooutline future course changes. Students discussed what they liked and what changes theysuggest. This feedback showed that students greatly benefited from MATLAB workshops andthe training provided by the Onramp platform. Most students would have liked to explore moretraining content that is provided by the MATLAB training platform. We therefore plan to extendthis activity in the fall 2021 along with other suggestions.One of the survey questions was: “What is the best aspect of the MATLAB workshops – the onething that should not be changed? “A few responses stood out: I particularly enjoyed our third MATLAB workshop where we were introduced to thefundamentals of writing basic programs. I think it provided me a good introduction and skills that Ican transfer to other programming concepts. My most memorable moment has to be when I completed my first multi-step equation with just thecoding.’’ I really enjoyed doing the Onramp training and using MATLAB to help solve calculus problems.And getting the certificate Learning to solve derivatives and integrals in MATLAB. My most memorable part of MATLAB was when we learned about vectors. In high school when Itook a computer science class, I wasn't able to understand vectors or how to apply them at all butthis section of MATLAB helped me understand it a lot more clearly due to the tutorials at the side.

In summary, 86.66% of the participants agreed that the hands-on activities were very interestingand increased the student’s motivation and curiosity to explore more programing projects. Theseactivities also gave the students a sense of achievement. These results suggest that theseactivities met the learning objectives of students learning the basics of MATLAB in theFundamentals of Engineering course. The results also suggest that the students’ left theworkshops motivated to explore more programming and engineering projects.A few students found the assignments to be easy and wanted more challenging activities andrequested that the number of workshops and MathWorks training assignments be increased. Afew suggestions stood out: Incorporate more advanced exercises.’ Have a sheet with all the definitions of what each character means in MATLABprogramming language.”“Possibly have shorter assignments that do not take two hours to complete.’’ I really enjoyed the Onramp, that should be a required assignment for the class. Veryinteresting and engaging. ‘’All students’ feedback in addition to the faculty’s observations, will be considered for theimprovement of next year’s course.ConclusionThe results of introducing MATLAB workshops were positive and highlighted numerous areasfor additional consideration as they relate to the content of the Fundamentals of Engineeringcourse. Students’ feedback was positive and shows that student opinions support incorporatingMATLAB workshops in the course. Even though the MATLAB programs demonstrated in theworkshops were elementary, they clearly showed students that MATLAB programmingprovides:1. A powerful problem-solving tool that can be applied to many types of problems.2. An important and unique way of thinking.3. A valuable experience with an effective industry standard tool that is useful throughoutthe schooling years and subsequent career.Results of this study show continued success in achieving course and MATLAB workshopsoutcomes. We believe that the experience reported here will help our colleagues who are taskedwith course development at different universities. Further details may be provided on request.

References[1] P. T. Goeser, W. Johnson, S. L. Bernadin, and D. A. Gajdosik-Nivens, “Work-in-Progress:The Impact of MatLab Marina - A Virtual Learning Environment on Student Learning in aComputing for Engineers Course”, ASEE Annual Conference and Exposition, 2013.[2] R. Talbert, “Learning MATLAB in the Inverted Classroom”, ASEE Annual Conference andExposition, 2012.[3] K. Larsen, A. Hossain And M. Weiser, “Teaching an Undergraduate Introductory MATLABCourse: Successful Implementation for Students Learning”. ASEE Annual Conference andExposition, 2016.[4] M. Rabiee, “Using MATLAB to Teach Electric Energy Courses”, ASEE Annual Conferenceand Exposition, 2012.[5] Moore, Holly. 2015. MATLAB for Engineers 4th edition. Pearson.[6] J. J. Heeg, K. Flenar, J. A. Ross, T. Okel, T. A. Deshpande, G. W. Bucks, and K. A. Ossman,“Effective Educational Methods for Teaching Assistants in a First-Year Engineering MATLABCourse”, ASEE Annual Conference and Exposition, 2014.[7] D. Belfadel, M. Arambulo, M. Zabinksi, R. Munden, and James Cavallo. “Use of theArduino Platform in Fundamentals of Engineering.” ASEE: Annual Conference and Exposition,Tampa, Florida. June 2019[8] Siegel, C. Putting the Pieces Together: Linking Learning Outcomes, Assessment, andCurriculum. Center for Academic Excellence: Summer Institute on Integrative Learning.Fairfield University[9] ABET student outcomes. s-2017-2018/#outcomes[10] Engineering Accreditation Commission. (2011). Criteria for Accrediting EngineeringPrograms. Baltimore, MD: ABET[11] Wang, C., & Sodhi, J., & Borgaonkar, A. D. (2019, July), “GIFTS – Utilizing MATLAB’sOnline Tutorial in First-Year Engineering Courses”, FYEE Conference, Penn State University,Pennsylvania, 2019.

Appendix 1 – MATLAB WORKSHOPS Student Survey Fall 2020True/FalseTrue/FalseMultiple ChoiceMultiple ChoiceMultiple ChoiceI understand that my choice to complete this survey will not affectmy grade.AnswersPercent AnsweredTRUE100%FALSE0%Unanswered0%I am voluntarily participating in this survey.AnswersPercent AnsweredTrue100%False0%Unanswered0%Overall, the MATLAB workshops have increased my interest inengineering.Percent Answered20.00%Strongly agree33.333%Agree33.333%Neither agree nor disagree6.666%Disagree6.666%Strongly disagree0.00%UnansweredSum of Agree and53.33%Strongly AgreeBecause of my experience with the MATLAB workshops, I am morelikely to continue taking courses toward a degree in engineering.Percent Answered20.00%Strongly agree33.333%Agree40.00%Neither agree nor disagree6.666%Disagree0.00%Strongly disagreeSum of Agree and53.33%Strongly AgreeThe hands-on experience with the MATLAB workshops have causedmy confidence in my ability to succeed in EngineeringPercent AnsweredIncrease a lot13.333%Increase66.666%No change13.333%Decrease6.666%Decrease a lot0.000%Unanswered0.000%

Multiple ChoiceMultiple ChoiceSum of Agree and80.00%Strongly AgreeThe MATLAB workshops have caused my understanding ofprogramming toPercent AnsweredIncrease a lot13.333%Increase73.333%No change6.66%Decrease6.66%Decrease a lot0.00%Unanswered0.000%Sum of Increase and86.66%Increase a lotMATLAB will be helpful in my future engineering studiesPercent AnsweredIncrease a lot20.000%Increase53.333%No change20.000%Decrease6.666%Decrease a lot0.000%Unanswered0.000%Sum of Increase and73.00%Increase a lot

MATLAB programming was first introduced two years ago in the Fundamentals of Engineering course. We report on this 2-year exercise and include student feedback from the second year. Introduction A computer programming course is required in most engineering curricula. Typically, such a cours