2023 ASEE Annual Conference & Exposition

A Systematic Approach to Teaching the Foundational Concepts of Programming Using LEGO and Matlab

Presented at Two-Year College Potpourri

Learning programming can be challenging for newly admitted engineering students. It may be even more challenging in two-year colleges due to the broad spectrum of student populations, which includes both traditional and non-traditional students. Students who have been out of school for several years after high school may find programming particularly challenging, while students who have just graduated from high school may find it less so. To overcome this challenge, it is suggested to teach programming using familiar tools from the very beginner level to the intermediate level. This paper proposes a new course to teach the foundational concepts of programming using LEGO EV3, a robotics toolkit, and MATLAB to control the LEGO robots. The course consists of three parts: Basics, Assigned Projects, and Student-Led Projects. In the Basics part, students learn fundamental programming concepts such as algorithms, flowcharts, variables, input/output, IF statements, and loop structures. Systematically designed application problems are provided to enhance understanding of programming basics. In the Basics part, students write code to control LEGO robots and solve application problems. This helps students overcome their unfamiliarity with programming, as they can see how the robots move interactively as they program. After completing the Basics part, students will work on two assigned projects: a line-tracking robot and a cleaning robot. Guided problems are provided to help students complete these projects. After students complete the assigned projects, students will undertake a Student-Led project. For this project, they will design an engineering product of their choice and build it using LEGO EV3 and MATLAB. To evaluate the effectiveness of the new course, the level of difficulty and repetition of application problems and guided problems were measured, along with the applicability of active learning activities. The measured data shows that the level of difficulty gradually increases overall from the beginner level, which helps students build foundational concepts of programming as beginners. It also shows that the topics in the Basics part are systematically repeated in the application problems and guided problems, which enhances learning retention of the topics. Additionally, the data shows that the learning methods used in this course lead to a higher percentage of active learning activities with higher complexity, making this course more beneficial for students. To evaluate the effectiveness of this proposed course, it is recommended to offer this course for a few semesters and conduct surveys at the end of each semester to collect feedback and measure its effectiveness.

Authors
  1. Il Yoon University of North Georgia
Download paper (1.34 MB)

Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.