Content area

Abstract

Teaching MATLAB and C Programming in First Year Electrical Engineering Courses Using a Data Acquisition DeviceA complaint often expressed about newly graduated electrical engineering (EE) students is thatthey have insufficient programming skills. In a traditional undergraduate EE curriculum, one ortwo programming courses compose the entirety of the student’s training in programming. Thecourses are often taught by the computer science department without any engineering emphasis.While the fundamentals may be well covered, the ability to apply the knowledge to practicalengineering problems is frequently lacking. Students may lose interest in programming due to aperceived disconnect between practice exercises and real-world applications. As a remedy, someEE departments have incorporated inexpensive microcontrollers into their own programmingcourses. These units have digital and analog ports for interfacing sensors and other circuitry,which are controlled by user-written programs. Adding a hardware component offers anopportunity to increase student engagement by reinforcing programming concepts with relevantand fun hardware projects.Our university’s first year electrical engineering sequence includes two courses that involveprogramming and hardware interfacing. Both are taught by the EE department itself. The firstintroduces engineering problem solving using MATLAB. The follow-on course focuses on the Clanguage. Although Arduino and Raspberry Pi microcontrollers are popular choices forinterfacing projects, we selected a LabJack data acquisition device instead so that students couldlearn to program in the language’s native environment. Code is developed and executed on aseparate host computer, which then communicates with the LabJack over a USB connection.MATLAB scripts to control the LabJack can be written in the standard MATLAB environment.Similarly, industry standards such as Microsoft Visual C/C++ or the GNU C/C++ compiler canbe utilized as development tools. With a common API for both languages, the LabJack eases thetransition between the two courses, since students are already familiar with the command set.We have devised a series of in-class and laboratory exercises to advance student learning ofprogramming. Students make progress along this path:One or a few lines of statements to solve simple engineering problems → short self-containedscripts to solve more sophisticated problems → simple LabJack scripts to read sensors → fullprogram control of a complex system with LabJack serving as the interface.This cycle is used first with MATLAB and then in C, so the experience gained in the initialcourse carries over to the second. Examples of in-class and lab exercises will be provided.Projects are another major component of our courses. Over several years, our students havedeveloped LabJack-based projects that range from games such as Wheel of Fortune and Simon(with switches and LEDs) in the first course to more sophisticated fare such as light trackersusing photocells and motors, music synthesizers, multiplexed LED timers, and home alarmsystems in the second. A high rate (> 95%) of successfully completed projects suggestsimproved comprehension of programming topics such as loops, data structures, and debugging.Feedback from students has indicated a higher level of interest and motivation, with theintegrated software/hardware projects being an important factor in their achievement.

Details

Title
Teaching MATLAB and C Programming in First-year Electrical Engineering Courses Using a Data Acquisition Device
Source details
Conference: 2015 ASEE Annual Conference & Exposition; Location: Seattle, Washington; Start Date: June 14, 2015; End Date: June 17, 2015
Pages
26.1480.1-26.1480.11
Publication year
2015
Publication date
Jun 14, 2015
Publisher
American Society for Engineering Education-ASEE
Place of publication
Atlanta
Country of publication
United States
Source type
Conference Paper
Language of publication
English
Document type
Conference Proceedings
Publication history
 
 
Online publication date
2015-07-06
Publication history
 
 
   First posting date
06 Jul 2015
ProQuest document ID
2317745076
Document URL
https://www.proquest.com/conference-papers-proceedings/teaching-matlab-c-programming-first-year/docview/2317745076/se-2?accountid=208611
Copyright
© 2015. Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the associated terms available at https://peer.asee.org/about .
Last updated
2025-11-15
Database
ProQuest One Academic