Work in Progress: Development and Implementation of a Self-guided Arduino Module in an Introductory Engineering Design Course

This Work in Progress paper discusses the implementation of an online module designed to teach basic Arduino programming skills to students enrolled in a first-year engineering design course. The learning objectives for students were (1) to learn the basics of Arduino programming through hands-on activities, (2) to connect with the numerous online resources available for creating their own projects for personal or class purposes, and (3) to gain a sense of curiosity about what types of challenges and problems they may be able to solve with their newfound skills. This module was deployed in the introductory design course beginning Fall semester 2017, and feedback from the initial module participants has been largely positive. Preliminary results suggest that module participants were able to expand upon the basic skills taught during the module to utilize the technology in their semester design projects effectively. In addition, participants expressed curiosity about ways they could use this technology in the future. Introduction This Work in Progress paper describes the development and implementation of a self-guided online Arduino module in a required, multidisciplinary design course for first-year engineering students. This introductory engineering design course is a project-based course required for all engineering majors on campus as part of the freshman engineering program. The course, which begins with a design challenge description and culminates with students demonstrating a working physical prototype by the end of the semester, serves as a first exposure to the engineering design cycle for many students. This project-based approach is used by numerous other first year engineering programs and is certainly not unique to this particular course, but it comes with both advantages and disadvantages [1], [2], [3], [4], [5]. On the positive side, students typically enjoy the hands on aspect of the course and are able to experience firsthand what it takes to design and build a product. However, most first year students have minimal prior experience with the tools required for design and fabrication, and this inexperience can severely restrict the types of design challenges that can be assigned. Development of meaningful design projects that are still approachable for a first year student can be difficult, and this challenge can be compounded by the limited instructional time and large student-to-instructor ratio. In the case of this particular course, the assigned design projects have always had the option of a purely mechanical solution, as students were not required to have any prior knowledge of electronics, and teaching techniques such as basic circuitry and microcontroller programming was not the focus of the course. Most students ended up building purely mechanical devices using the woodworking shop available to course participants. There are always a handful of students each semester who utilize skills from past experiences such as high school robotics clubs or other programming activities to devise a solution that employs more than simple mechanics. These students’ solutions are often more creative and require more critical thinking and troubleshooting. End of the semester feedback showed that students enjoyed the project overall, but felt that their lack of prior programming and electronics knowledge severely limited their projects, especially compared to other students in the course who had prior experience in these areas. The development of the Arduino module was motivated by four semesters worth of similar feedback from course participants indicating that basic microcontroller programming knowledge would have been valuable not only for completing the projects in the introductory design course, but also for use in upper level engineering courses and projects of personal interest. Not only were students eager to learn microcontroller basics, instructors also recognized that by introducing students to these skills, the resulting projects may be higher quality and the range of design challenges that can be assigned may be broadened. Use of microcontroller technology in freshman level courses is not new, and these concepts have been taught through in-person laboratory instruction with positive results at numerous universities [2], [3], [6]. Additionally, multiple universities have employed a “flipped classroom” approach to teaching microcontroller basics with online instruction prior to in-class lab activities [1], [7], [8]. This work aims to build on these successful examples by developing and implementing a fully online and self-guided microcontroller module in the introduction to design curriculum. By designing the module for online instruction and support, the instructors were able to accommodate the large number of students, overcome lab space limitations, and minimize the required in-class time for the lessons. This online module was developed and deployed in the course beginning Fall semester 2017. While a similar module could be developed for any microcontroller, instructors chose to focus on the Arduino UNO for this beginner level module, as it is cost-effective (approximately $25 per board), widely used, and open source, with an active community of educators and hobbyists sharing content online [9]. The fully online Arduino module has the benefit of having minimal impact on the overall course format, and it allows students to work at their own pace through the lessons, as there is likely a wide range of incoming knowledge for students in this first year course. As there have been urgent calls for post-secondary institutions to produce engineers who not only have a sound technical background but are also entrepreneurially minded and critical thinkers [10], [11], this module was designed not only to provide students with technical skills, but also to inspire curiosity about other ways this technology could be used and encourage students to engage with the online community and resources related to this technology. While the Arduino module is intended to equip students with skills that can be used in the classroom setting, it is also intended to give students a glimpse into the growing Maker Movement both on campus and worldwide [12]. With this in mind instructors designed the module to meet the following three learning objectives: Learning Objective #1: Students will learn the basics of programming an Arduino Uno microcontroller board through hands-on activities. Learning Objective #2: Students will connect with the numerous online resources available for creating their own projects for class or personal purposes. Learning Objective #3: Students will gain a sense of curiosity about what types of challenges they may be able to solve using their new skills and connections to the online community. This paper will discuss the development of this module, the preliminary results from the initial module deployment in Fall semester 2017 including student response and incorporation of microcontroller technology into the final projects, and the future work to be done to fully evaluate the effectiveness of the module at meeting its three learning objectives. Course Overview and Arduino Module Implementation Course Overview The introductory engineering design course has an enrollment of nearly 600 students per semester and consists of one 50 minute lecture and one 50 minute lab session per week as well as an online software component administered through the Canvas learning management system. The lecture and laboratory content center around a semester-long team design and fabrication project. The design challenge is different each semester, with past projects including marble launchers, arcade game design, and Rube Goldberg machines. The first implementation of the Arduino module was in Fall 2017, and in this semester the design challenge required students to design a Rube Goldberg machine that could unlock a door in precisely 15 seconds using as many steps as possible. Teams of four students spent the entire semester learning the engineering design process through this hands-on project. To complement the skills students learn in lecture and lab, the online software component of the course consists of five-week long self-guided modules that provide students with basic instruction in common engineering software programs that may be useful for their design projects and in their future engineering coursework. Prior to Fall 2017, students chose two of four options (MATLAB, AutoCAD, Microsoft Excel, or Siemens NX) to learn over the course of the semester. Because this software framework was already in place, the initial Arduino module was developed to be offered as a fifth option for students to choose from. This implementation gave a large number of students access to the module content with minimal changes to the overall course structure. Arduino Module Development Before the online module was developed, the concept was tested in a live presentation format during two “Pop-Up Courses” offered during the spring of 2017. 14 students participated in these non-credit workshops, and they provided valuable insight about which skills the students were most interested in learning and the appropriate level of difficulty and depth for the course material. With this initial feedback, a five-week module was developed as outlined in Table 1. Table 1: 5-week Arduino Module Outline Week Instructional Content Assessments 1 Video 1: Arduino Hardware and Basic Electronics (11 minutes) Video 2: Arduino Software (5 minutes) Assignment, online quiz 2 Video 1: Writing Digital Signals (8 minutes) Video 2: Reading Digital Signals (8 minutes) Assignment, online quiz 3 Video 1: Serial Communications (5 minutes) Video 2: Analog Signals (13 minutes) Assignment, online quiz 4 Video 1: Libraries and Servos (10 minutes) Video 2: Review and Useful Resources (6 minutes) Assignment, online survey 5 None Comprehensive online quiz While a wide va