Document Type


Publication Date



Computer software, Teaching -- methods, MATLAB -- Study and teaching


Our industry partners often voice a complaint that our newly graduated electrical engineering (EE) students do not have sufficient programming skills. This is not a new concern. In a traditional undergraduate EE curriculum, one or two programming courses compose the entirety of the student’s training in programming. The courses may be taught by the computer science department without significant emphasis on engineering fundamentals. While the principles of computer science may be well covered, the ability to apply the knowledge to practical engineering problems is frequently lacking. To compound the problem, teaching novices the basics of programming can be very challenging due to poor preparedness in mathematics, logical and abstract thinking, and problem solving. Students may lack the motivation to program because of a perceived disconnect between practice exercises and real-world applications. As a remedy, it is possible to incorporate inexpensive microcontrollers into programming courses. 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 an opportunity to increase student engagement by reinforcing programming concepts with relevant and fun hardware projects. Other approaches involve working with robots, whose popularity has spread from K-12 to higher education. Some schools have opted to develop their own platforms, which are reused within their curriculum. Even this cursory introduction illustrates the wide variety of hardware options already available. There is also an extensive choice of programming languages that can be taught to freshman engineering students. These range from standard languages such as C, C++, and Java to scripting languages such as Python and MATLAB. The latter has over the years become a large platform for many simulation tasks. In the following sections, we will give our rationale for pursuing our path of using a LabJack data acquisition device for introducing programming to EE students, discussing why it was chosen over other alternatives, and how it has affected our students.


Presented at the 122nd ASEE Annual Conference and Exposition in Seattle, WA.



Persistent Identifier